覆盖spring配置文件中bean属性中的属性值$ {abc.xyz}

时间:2013-11-11 09:58:58

标签: java spring properties spring-3

我有bean xml文件,它加载多个属性文件以创建其bean。所有这些属性文件都在root / abc / abc.properties,root / xyz / some.properties等根文件夹下。

<bean id="x".....
....
<util:properties id="properties" location="${config.base.dir}/abc/abc.properties" />
......
</bean>


<bean id="y".....
....
<util:properties id="properties" location="${config.base.dir}/xyz/some.properties" />
......
</bean>

我想覆盖把config.base.dir的值放在顶部,以便我可以继续更改根位置,如果可以通过在顶部定义一些属性来实现这一点吗?

1 个答案:

答案 0 :(得分:1)

如果使用Maven,则可以在test / resources / abc /文件夹中安装abc.properties版本。这将在main / resources / abc / abc.properties文件之前的类路径中获取。

这有帮助吗?

为什么要“不断更改根位置”?


系统属性覆盖...

<!-- Configuration property files -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="systemPropertiesModeName">
        <value>SYSTEM_PROPERTIES_MODE_OVERRIDE</value>
    </property>
    <property name="locations">
        <list>
            <value>classpath*:config.properties</value>
        </list>
    </property>
</bean>