春天有多个属性文件

时间:2011-11-08 03:51:04

标签: java spring properties

我在spring中加载一个属性文件:

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

但是如果我尝试在另一个上下文文件中加载另一个文件,我会收到错误。

3 个答案:

答案 0 :(得分:6)

根据消息来源,您必须提供以逗号分隔的属性文件资源列表。 这应该适合你:

<context:property-placeholder location="classpath:foo1.properties,classpath:foo2.properties"/> 

答案 1 :(得分:4)

如果您需要覆盖属性,可以执行以下操作:

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

OR

如果错误是由于找不到某个属性,您可以将ignoreUnresolvablePlaceholders设置为true。


OR

如果错误是找不到资源(并且你没关系),你可以将ignoreResourceNotFound设置为true。


OR

如果在查找系统属性时出错:

PropertyPlaceholderConfigurer不仅在您指定的属性文件中查找属性。默认情况下,如果它在指定的属性文件中找不到属性,它还会检查Java System属性。您可以通过使用以下三个支持的整数值之一设置configurer的systemPropertiesMode属性来自定义此行为:

从不(0):永远不要检查系统属性

后备(1):如果在指定的属性文件中无法解析,请检查系统属性。这是默认值。

覆盖(2):在尝试指定的属性文件之前,首先检查系统属性。这允许系统属性覆盖任何其他属性源。

答案 2 :(得分:2)

问题 - 如何在spring config *中使用多个属性文件

  1. 在classPath中创建单独的prop文件 例如。 abc1.properties,abc2.propeties,abc2.propperties

  2. 在类路径中创建 propConfig.xml               类= “org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig” &GT;                          

                 类= “org.jasypt.encryption.pbe.StandardPBEStringEncryptor” &GT;                  

                                                               的类路径:/abc1.properties                     的类路径:/abc2.properties                     的类路径:/abc3.properties                                  

  3. 为所有其他beanDefination.xml和propConfig.xml创建组合文件 的 AllSpringConfig.xml 3.1确保以下属性configure和定位器bean仅在一个中定义     fiile即propConfig.xml 3.2确保propConfig.xml在任何其他配置文件之前

    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd“&gt;

    <import resource="SpringPropConfig.xml"/>
            <import resource="abc1.xml"/> <!-- this may use props from abc1.prop --> 
            <import resource="abc2.xml"/> <!-- this may use props from abc2.prop --> 
            <import resource="abc3.xml"/> <!-- this may use props from abc3.prop --> 
    

  4. 使用以下方法初始化bean ApplicationContext context = new ClassPathXmlApplicationContext(“AllSpringConfig.xml”);

  5. 注意 - 确保所有提到的文件都在类路径中,或者提供文件所在的正确路径。