Bobo
Bobo

Reputation: 9163

Spring multiple PropertyPlaceholderConfigurer (in multiple projects) how to override an already defined property?

I have a situation where I need to override properties from one project in another. In project 1, where I have no control over the source or the configuration, there is the following config:

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

In another project, which I am working on, I have following config:

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

Individually both configurations work fine on their own. The problem happens when I have some property in prop2.properties or prop3.properties that I want to use to override the value for the same property from prop1.properties. It always uses the value in prop1.properties. I have researched quite a bit but did not find anything useful.

Any suggestion is appreciated.

Upvotes: 2

Views: 1790

Answers (1)

Bobo
Bobo

Reputation: 9163

The answer is in @M.Deninum's comment.

Upvotes: 1

Related Questions