您的位置:首页 > 编程语言 > Java开发

Spring中PropertyPlaceholderConfigurer的使用

2013-04-26 17:56 447 查看

(1) 基本的使用方法是

<bean id="propertyConfigurerForAnalysis" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="location">

<value>classpath:/spring/include/dbQuery.properties</value>

</property>

</bean>

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

PropertyPlaceholderConfigurer可以将${...}替换为指定的properties文件或systemproperties中的值

这样一来,我们就可以不再配置文件中为bean注入数值,而改用properties文件,可以降低耦合性,以后如果需要修改诸如数值,只修改properties文件就可以了

(2) 当存在多个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>

(3)接下来我们要使用多个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还有更多的扩展应用,如属性文件加密解密等方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: