参数覆盖PropertyPlaceholderConfigurer

JAVA学习网 2017-09-12 12:02:02

一、PropertyPlaceholderConfigurer解释说明

    可用于读取外部的配置文件,以及更改其中的值,也就是所谓的参数覆盖OVERRIDE。

二、PropertyPlaceholderConfigurer主要功能

<!-- 1、读取外部的配置文件: -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<!-- 2、允许JVM参数覆盖: -->
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="locations"> <list> <value>classpath:jdbc.properties</value> </list> </property> </bean>

三、PropertyPlaceholderConfigurer适用场景

    1、当需要读取数据库参数等配置文件时,可以使用locations;

    2、当运行项目jar包时,需要更改某配置文件的参数,可以使用systemPropertiesModeName;

四、PropertyPlaceholderConfigurer应用举例

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <!-- 允许JVM参数覆盖 -->
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    <!-- 忽略没有找到的资源文件 -->
    <property name="ignoreResourceNotFound" value="true" />
    <!-- 配置资源文件 -->
    <property name="locations">
        <list>
            <value>classpath:jdbc.properties</value>
        </list>
    </property>
    </bean>
<!-- 定义数据源 -->
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
    <!-- 数据库驱动 -->
    <property name="driverClass" value="${jdbc.driver}" />
    <!-- 相应驱动的jdbcUrl -->
    <property name="jdbcUrl" value="${jdbc.url}" />
    <!-- 数据库的用户名 -->
    <property name="username" value="${jdbc.username}" />
    <!-- 数据库的密码 -->
    <property name="password" value="${jdbc.password}" />
</bean>

 

阅读(738) 评论(0)