我有一个这样的课程:
public class CheckSetFilter<E extends Enum<E>>
{
public CheckSetFilter(CheckSetManager<E> pCheckSetManager, E pCheckSetId)
}
我有这个枚举:
public enum StubCheckId
{
STUBCHECK1, STUBCHECK2
}
我尝试用Spring创建这样一个对象:
<bean id="checkSetFilter" class="com.iba.icomp.core.checks.CheckSetFilter">
<constructor-arg ref="checkSetManager"/>
<constructor-arg value="STUBCHECK1"/>
</bean>
它抱怨,它无法从String转换为Enum。我想这是因为通用。它无法知道要创建的枚举类型。我也尝试给它一个类型提示,但没有运气。
答案 0 :(得分:27)
您真正需要做的就是在value
标记内添加constructor-arg
标记 。
<bean id="checkSetFilter" class="com.iba.icomp.core.checks.CheckSetFilter">
<constructor-arg ref="checkSetManager"/>
<constructor-arg>
<value type="your.package.StubCheckId">STUBCHECK1</value>
</constructor-arg>
</bean>