/ / Spring MVC 2.5: як завантажити файл властивостей - java, spring-mvc

Spring MVC 2.5: як завантажити файл властивостей - java, spring-mvc

Мені потрібно завантажити багато файлів властивостей, які знаходяться в папці ресурсів.

У мене є ресурс, який називається abc_en.properties з наведеним нижче вмістом:
a = x
b = y
c = z

і мені потрібно використовувати властивості співати java.util.Properties в Java Method:

  java.util.Properties reportProperties = new java.util.Properties();
...
String a = reportProperties.getProperty("a");

Як це зробити?

Дякую

Відповіді:

4 для відповіді № 1

Вам потрібно визначити компонент propertyConfigurer у вашому файлі контексту:

<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:abc.properties</value>
<value>classpath:efg.properties</value>
</list>
</property>
</bean>

EDIT:

Для того, щоб використовувати java.util.Properties вам потрібно визначити PropertiesFactoryBean bean у вашому файлі контексту:

    <bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location">
<list>
<value>classpath:abc_en.properties</value>
<value>classpath:abc_fr.properties</value>
</list>
</property>
</bean>

Потім у своєму класі потрібно визначити a java.util.Properties varible і завантажити властивості bean в нього:

public class MyClass {

@Autowired
private java.util.Properties properties;


public void myMethod() {
String a = properties.getProperty("a");
String b = properties.getProperty("b");
String c = properties.getProperty("c");
}
}

Існують інші способи завантаження компонента properties у ваш клас, але якщо ви використовуєте @Autowired анотацію, вам потрібно додати <context:annotation-config /> елемент у файлі контексту.


0 для відповіді № 2

Ви повинні визначити бібліотеку повідомлень у своєму XML-файлі.

Спробуй так

<bean id="messageSource" name="applicationMessageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>resources.abc.abc</value>
</list>
</property>
</bean>