Spring中PropertyPlaceholderConfigurer的使用

Spring中PropertyPlaceholderConfigurer的使用 

    在使用Spring配置获取properties文件时,在网上查到相关的资料,分享哈!!
(1)获取一个配置文件

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
       <property name="location">
             <value>file:./mes.properties</value>
        </property> 

</bean>

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

(2)获取多个配置文件时,配置就需要使用locations

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
       <property name="locations">
             <value>
classpath:/resources/jdbc.properties</value>
            
<value>classpath:/resources/config.properties</value>       
       </property> 

</bean>


(3)使用多个PropertyPlaceholderConfigurer来分散配置,达到整合多工程下的多个分散的Properties 文件,其配置如下:

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

<property name="order" value="1" />
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="location">
       <value>classpath:classpath:/resources/mes.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:/resources/jdbc.properties</value>
        <value>classpath:/resources/config.properties</value>
      </list>
    </property>
</bean> 

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

PropertyPlaceholderConfigurer还有更多的扩展应用,如属性文件加密解密等方法

原文地址:https://www.cnblogs.com/coprince/p/3670508.html