我有一个要注入到服务中的泛型类型。由于泛型在Java中的实现方式,我需要有一个包含泛型类型参数的类信息的构造函数arg (或属性设置器)。
我的问题是--是否可以通过属性注入或指定构造函数arg,传入带有spring的Class的实例?
在运行时之前,我确实知道T的类型,因此我特别知道type参数将是什么。
我在想它应该是这样的:
<bean id="dataMartService" class="com.someclass">
<constructor-arg value="java.lang.class<com.someotherclass>" />
</bean>我是不是完全不知道该怎么做呢?
发布于 2012-08-15 22:56:46
尝试:
<bean id="dataMartService" class="com.someClass">
<constructor-arg>
<value type="java.lang.Class">someotherclass</value>
</constructor-arg>
</bean>发布于 2012-08-15 22:58:31
使用弹簧el:
<constructor-arg value="#{ T(java.lang.Math) }" />(要实现这一点,您需要Spring3.0)
也就是说,如果在属性设置期间将一个字符串传递到一个需要类的参数中,spring应该会自动转换它,尽管我不确定当匹配构造函数时它是如何工作的。上述方法要简洁得多。
发布于 2014-07-23 13:35:28
您可以使用:
//for constructor
public CheckSpell(SpellCheker spellCheker){
this.spellCheker=spellCheker;
}
//Use object reference as bean
<bean id="textEditor" class="com.sring.spellCheck">
<constructor-arg ref="spellChecker"/>
</bean>
<bean id="spellCheker" class="com.spring.SpellCheker"/>https://stackoverflow.com/questions/11971651
复制相似问题