Мені потрібно завантажити багато файлів властивостей, які знаходяться в папці ресурсів.
У мене є ресурс, який називається 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>