Spring中PropertyPlaceholderConfigurer的使用

<context:property-placeholder location="classpath:jdbc.properties"
	ignore-unresolvable="true" />


<bean id="propertyConfigurerForAnalysis"
	class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="location">
		<value>classpath:/spring/include/dbQuery.properties</value>
	</property>
</bean>

其中classpath是引用src目录下的文件写法。

当存在多个Properties文件时,配置就需使用locations了:

<bean id="propertyConfigurer"
	class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="locations">
		<list>
			<value>classpath:/spring/include/jdbc-parms.properties</value>
			<value>classpath:/spring/include/base-config.properties</value>
		</list>
	</property>
</bean>

接下来我们要使用多个PropertyPlaceholderConfigurer来分散配置,达到整合多工程下的多个分散的Properties 文件,其配置如下:

<bean id="propertyConfigurerForProject1"
	class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="order" value="1" />
	<property name="ignoreUnresolvablePlaceholders" value="true" />
	<property name="location">
		<value>classpath:/spring/include/dbQuery.properties</value>
	</property>
</bean>
<bean id="propertyConfigurerForProject2"
	class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="order" value="2" />
	<property name="ignoreUnresolvablePlaceholders" value="true" />
	<property name="locations">
		<list>
			<value>classpath:/spring/include/jdbc-parms.properties</value>
			<value>classpath:/spring/include/base-config.properties</value>
		</list>
	</property>
</bean>


其中order属性代表其加载顺序,而ignoreUnresolvablePlaceholders为是否忽略不可解析的 Placeholder,如配置了多个PropertyPlaceholderConfigurer,则需设置为true

至此你已经了解到了如何使用PropertyPlaceholderConfigurer,如何使用多个Properties文件,以及如何配置多个PropertyPlaceholderConfigurer来分解工程中分散的Properties文件。至于 PropertyPlaceholderConfigurer还有更多的扩展应用,如属性文件加密解密等方法

引自: http://blog.163.com/wchao226@126/blog/static/69514819201051742718830/

你可能感兴趣的:(spring)