这个类是用来解析Java Properties属性文件值,并提供在spring配置期间替换使用属性值。以下是它的三种常见使用方法。


(1).基本的使用方法:

spring-config.xml 

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

    <property name="location">

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

    </property>

</bean>

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


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

spring-config.xml 

<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文件,其配置如下

Xml代码

<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>


Xml代码 

<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。