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