2013-07-16 3 views
0

У меня есть файл с кучей статических конечных переменных Струнные:Хранение статических конечных констант весной?

static final String ENTER = "Enter"; 
static final String EXIT = "Exit"; 
static final String FORCE = "Force"; 

и так далее. Вероятно, около 20 из них.

Однако я хочу определить и загрузить эти значения из моего Spring XML, а не определять их в файле .java. Как добавить эти объявления в мой весенний xml-файл и как будет выглядеть мой .java-файл?

ли я сделать что-то вроде:

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

или

Будет ли использование Util: Constant пригодиться здесь, и как?

Также в любом случае, как будет выглядеть мой файл Java? Я хочу, чтобы у меня не было кучу Setters/Getters для всех моих 20-30 окончательных переменных.

Примечание: Я использую Spring 2.5

ответ

1

наиболее подходящий метод возможно использовать пружинные свойства. Создайте файл myconstant.properties, поместите его на пути к классам корня и установить константы там

com.mycompany.myapp.ENTER=Enter 
com.mycompany.myapp.EXIT=Exit 
com.mycompany.myapp.FORCE=Force 

И создать PropertyPlaceHolderConfigurer на контекст приложения XML. Свойство может быть замещен с помощью ${..} синтаксиса

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

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

Это также может быть введен в класс боба

@Component 
public MyClass { 
    @Value("${com.mycompany.myapp.ENTER}") private String ENTER; 
    .. 
} 
+0

, что редактирует нужно будет идти в файл .java? Вам нужно добавить какие-либо аннотации? – James

+0

Отредактировал свой ответ. Попробуйте аннотацию '@ Value' – gerrytan

+0

Еще один вопрос/беспокойство, нужно ли добавлять сеттеры/геттеры. Я часто замечу, что с весенними бобами у вас есть сеттеры/геттеры для каждого поля вашего класса. Было бы большим беспорядком, если бы мне пришлось предоставить 20 сеттеров/геттеров для каждой переменной istance моего класса. – James

Смежные вопросы