Spring MVC的2.5:如何加载属性文件(Spring MVC 2.5: how to loa

2019-09-20 03:33发布

我需要加载许多属性文件,这些文件在资源文件夹中。

我有以下内容的资源称为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");

我怎样才能做到这一点?

谢谢

Answer 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>

编辑:

为了使用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 />元素在你的上下文文件。



Answer 2:

你需要在你的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>


文章来源: Spring MVC 2.5: how to load properties file