<bean id="xyz" class="com.abc" >
<property name="name">
<bean
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="staticField" value="com.abc.staticname" />
</bean>
</property>
</bean>
这是我之前用来设置类com.abc名称的方式。现在,这些名字应该来自另一个枚举。如何访问枚举值以设置类com.abc的名称属性?
答案 0 :(得分:7)
我不明白为什么你不能继续使用FieldRetrievingFactoryBean,这就是它的用途。
虽然比你的例子所说的更容易使用。此外,还有更简单的基于模式的语法,它可以做同样的事情,<util:constant>
。
两种方法都记录在案(并进行了比较)here。
(请记住,枚举值只是枚举类中的静态字段)
答案 1 :(得分:2)
您可以使用枚举名称作为值,Spring会自动检测到它是枚举类型的静态字段并使用它。例如,如果你有一个枚举com.mycompany.MyEnum,其值为SOMEVAL,ANOTHERVAL,你可以使用:
<property name="myEnumProperty" value="SOMEVAL" />
这将允许您完全避免使用FieldRetrievingFactoryBean和<util:constant>
。