繁体   English   中英

如何使用Spring获取Enum的值

[英]How to use Spring to get the value of an Enum

<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的name属性?

我不明白为什么你不能继续使用FieldRetrievingFactoryBean ,这就是它的用途。

不过,它比你的例子更容易使用。 此外,还有更简单的基于模式的语法,它可以做同样的事情, <util:constant>

这两种方法都记录(比较) 在这里

(请记住,枚举值只是枚举类中的静态字段)

您可以使用枚举名称作为值,Spring将自动检测它是枚举类型的静态字段并使用它。 因此,例如,如果您的枚举com.mycompany.MyEnum的值为SOMEVAL,ANOTHERVAL,则可以使用:

<property name="myEnumProperty" value="SOMEVAL" />

这将允许您完全避免FieldRetrievingFactoryBean和<util:constant>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM