我需要加载许多属性文件,这些文件在资源文件夹中。
我有以下内容的资源称为abc_en.properties:
a = x
b = y
c = z
我需要使用Java方法的属性唱java.util.Properties:
java.util.Properties reportProperties = new java.util.Properties();
...
String a = reportProperties.getProperty("a");
我怎样才能做到这一点?
谢谢
你需要在上下文文件来定义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>
编辑:
为了使用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>
然后在你的类,你需要定义一个java.util.Properties
varible和性能豆装入它:
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");
}
}
还有其他的方法来属性豆装入你的类,但如果你使用的@Autowired
注解,你需要把<context:annotation-config />
元素在你的上下文文件。
你需要在你的XML文件中定义的MessageSource豆。
试试这个方法
<bean id="messageSource" name="applicationMessageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>resources.abc.abc</value>
</list>
</property>
</bean>