在Spring中存储静态最终常数?

在Spring中存储静态最终常数?,spring,static,constants,Spring,Static,Constants,我有一个文件,其中包含一组静态最终字符串变量: static final String ENTER = "Enter"; static final String EXIT = "Exit"; static final String FORCE = "Force"; 等等。大概有20个 但是,我想从SpringXML中定义并加载这些值,而不是在.java文件中定义它们。我将如何在SpringXML文件中添加这些声明,以及之后我的.java文件的外观如何 我会做一些类似于: <bean

我有一个文件,其中包含一组静态最终字符串变量:

static final String ENTER = "Enter"; 
static final String EXIT = "Exit"; 
static final String FORCE = "Force"; 
等等。大概有20个

但是,我想从SpringXML中定义并加载这些值,而不是在.java文件中定义它们。我将如何在SpringXML文件中添加这些声明,以及之后我的.java文件的外观如何

我会做一些类似于:

<bean id="enter" class="java.lang.String">
    <property name="ENTER">
        <constructor-arg type="java.lang.String" value="Enter"/> 
    </property>
</bean>

在这里使用Util:Constant方便吗?如何使用

同样在这两种情况下,我的Java文件现在会是什么样子?我希望避免为我所有的20-30个最终变量使用一堆setter/getter


注意:我使用的是Spring 2.5

最适合使用Spring属性的方法。创建一个文件myconstant.properties,将其放在类路径根上并在那里设置常量

com.mycompany.myapp.ENTER=Enter 
com.mycompany.myapp.EXIT=Exit
com.mycompany.myapp.FORCE=Force
并在应用程序上下文xml上创建PropertyPlaceHolderConfigure。然后可以使用
${..}
语法替换该属性

<context:property-placeholder location="classpath:/myconstant.properties"/>

<bean class="com.mycompany.SomeClass">
  <property name="blah" value="${com.mycompany.myapp.ENTER}"/>
</bean>

需要对.java文件进行哪些编辑?你必须添加任何注释吗?编辑了我的答案。尝试
@Value
注释还有一个问题/顾虑,我是否必须添加setter/getter。我注意到,对于SpringBean,您必须为类的每个字段设置setter/getter。如果我必须为我的类的每个istance变量提供20个setter/getter,那将是一个很大的混乱。是的,getter和setter是推荐的方法,否则,如果重构代码,最终可能会导致更大的混乱。使用eclipse自动生成getter和setter
@Component
public MyClass {
  @Value("${com.mycompany.myapp.ENTER}") private String ENTER;
  ..
}