澄清Spring上下文:property-placeholder本地覆盖用法

时间:2014-01-28 11:37:04

标签: java spring

我正在使用本地覆盖来指定属性,并希望确认这仅适用于applicationContext中指定的属性。基本上我想确保这没有任何意想不到的后果......

<context:property-placeholder
    properties-ref="defaultProperties"
    location="classpath:my.properties"
    ignore-resource-not-found="true"
    ignoreunresolvable="true"
    local-override="true"/>

<util:properties id="defaultProperties">
    <prop key="some.property">${overriding.property}</prop>
</util:properties>

除了$ {some.property}之外,没有任何属性会被覆盖,是吗?

1 个答案:

答案 0 :(得分:1)

以下代码不会覆盖除$ {some.property}以外的任何属性:

<context:property-placeholder  properties-ref="defaultProperties" location="classpath:my.properties, "ignore-resource-not-found="true" ignoreunresolvable="true" local-override="true"/> 

<bean id="defaultProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
    <util:properties local-override="true">
        <prop key="some.property">${overriding.property}</prop>
    </util:properties>
</property>