Spring多个PropertyPlaceholderConfigurer(在多个项目中)如何覆盖已定义的属性?

时间:2014-10-30 15:48:23

标签: spring

我有一种情况需要覆盖另一个项目中的属性。在项目1中,我无法控制源或配置,有以下配置:

<bean id="propSource1" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="location" value="classpath:/sample-properties/prop1.properties"/>
            <property name="ignoreUnresolvablePlaceholders" value="true" />
            <property name="order" value="-10"/>
</bean>

在我正在处理的另一个项目中,我有以下配置:

<bean id="propSource2" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
     <list>
        <value>classpath:/sample-properties/prop2.properties</value>
        <value>classpath:/sample-properties/prop3.properties</value>
     </list>
  </property>
  <property name="order" value="1000"/>
  <property name="ignoreUnresolvablePlaceholders" value="true"/>      
</bean>

单独两种配置都可以自行运行。当我在prop2.properties或prop3.properties中有一些属性时,我想用它来覆盖prop1.properties中相同属性的值,就会出现问题。它总是使用prop1.properties中的值。我研究了很多,但没有找到任何有用的东西。

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:1)

答案在@ M.Deninum的评论中。