如何从XML配置文件中设置Spring属性?

时间:2016-10-06 13:09:59

标签: xml spring configuration

我有一些使用属性的spring配置,如下所示:

<bean id="foo" class="...">
    <constructor-arg value="${aProperty}"/>
</bean>

显然我知道我可以通过拥有属性文件来解析这个属性(例如example.properties):

aProperty=value

并在Spring配置中导入此文件:

<bean id="propertyConfiguration" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>example.properties</value>
        </list>
    </property>
</bean>

我的问题是,我可以直接在XML文件中设置此属性,而不必创建单独的属性文件吗?这样的事情是理想的:

<set-property name="aProperty" value="value"/>

Maven对pom文件有类似的功能:

<properties><aProperty>value</aProperty></properies>

1 个答案:

答案 0 :(得分:4)

使用属性文件的目标是从Spring配置文件中取消值,因此在同一配置文件中定义属性有点奇怪。不过,您始终可以向PropertyPlaceholderConfigurer添加属性:

<bean id="propertyConfiguration" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>example.properties</value>
        </list>
    </property>
    <property name="properties">
        <props>
            <prop key="aa">bb</prop>
            <prop key="cc">dd</prop>
        </props>
    </property>
</bean>

希望它有所帮助。