Spring中PropertyPlaceholderConfigurer的使用

(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还有更多的扩展应用,如属性文件加密解密等方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值