如果为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>