the*_*hip 6 java spring dependency-injection
我有一个通用类型,我注入服务.由于泛型在Java中的实现方式,我需要一个构造函数arg(或属性setter)来保存泛型类型参数的Class信息.
我的问题是 - 我可以通过属性注入或指定构造函数arg传入带弹簧的Class实例吗?
我在运行时知道T的类型,所以我特别知道Type参数是什么.
我以为它看起来像这样:
<bean id="dataMartService" class="com.someclass">
<constructor-arg value="java.lang.class<com.someotherclass>" />
</bean>
Run Code Online (Sandbox Code Playgroud)
我完全不知道应该如何发生这种情况?
尝试:
<bean id="dataMartService" class="com.someClass">
<constructor-arg>
<value type="java.lang.Class">someotherclass</value>
</constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)
使用弹簧el:
<constructor-arg value="#{ T(java.lang.Math) }" />
Run Code Online (Sandbox Code Playgroud)
(你需要春季3.0)
话虽这么说,如果你将一个字符串传递给一个在属性集中期望一个类的参数,spring应该自动转换它,虽然我不确定这在匹配构造函数时是如何工作的.上述方法更简洁.
| 归档时间: |
|
| 查看次数: |
8871 次 |
| 最近记录: |