在properties.xml中定义变量,在application.xml中取值问题

时间:2021-07-17 16:04:40

如果为application.xml中的变量赋默认值,同时又在properties.xml中变量赋值,而加载后是取不到properties.xml中的值的问题。

解决这个问题需要加上黑体部分配置:

<bean id="sysConfiguration" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="order" value="1" />
        <property name="ignoreUnresolvablePlaceholders" value="true" />
        <property name="locations">
            <list>
                <value>classpath:service.properties</value>
            </list>
        </property>
        <property name="fileEncoding" value="utf-8" />
    </bean>

举例说明:

service.properties文件

###变量定义###

service.period = 10

service.delay=50

applicaton.xml配置文件

<bean id="test" class="cn.com.Test">
        <property name="period" value="${service.period:5}"/>
        <property name="delay" value="${service.delay:2}"/>
 </bean>