Spring利用propertyConfigurer类处理property配置

来源:互联网 发布:淘宝开店防骗 编辑:程序博客网 时间:2024/05/20 19:15

1.PropertyPlaceholderConfigurer简介

Spring的框架中,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类可以将.properties(key/value形式)文件中 一些动态设定的值(value),在XML中替换为占位该键($key$)的值, properties文件可以根据客户需求,自定义一些相关的参数,这样的设计可提供程序的灵活性。

2.基本使用方法

Spring中,使用PropertyPlaceholderConfigurer可以在在springContext的配置文件中加入外部属性文件

2.1 建立jdbc.properties属性文件

src目录/spring/include下的建立文件jdbc.properties,内容如下:

jdbc_lms_url=jdbc\:oracle\:thin\:@10.168.167.19\:1621\:lmsjdbc_lms_driver=oracle.jdbc.driver.OracleDriverjdbc_lms_user=abcdjdbc_lms_password=adbcpasswd

2.2springContext文件配置

springContext的配置文件中,加入下面代码

<!-- 读取单个配置文件 --><bean id="propertyConfigurerForTest" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">     <property name="location">         <value>classpath:/spring/config/jdbc.properties</value>     </property>     <property name="fileEncoding">        <value>UTF-8</value>      </property> </bean>

加入数据库调用配置

<!--  数据库连接池 --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName"><value>${jdbc_lms_driver}</value></property><property name="url"><value>${jdbc_lms_url}</value></property><property name="username"><value>${jdbc_lms_user}</value></property><property name="password"><value>${jdbc_lms_password}</value></property><property name="maxActive" value="100"></property><property name="maxIdle" value="30"></property><property name="maxWait" value="500"></property><property name="defaultAutoCommit" value="true"></property></bean>

OK,一个数据源就设置完毕了。可以看出:PropertyPlaceholderConfigurer起的作用就是将占位符指向的数据库配置信息放在bean中定义的工具。

3.多个properties属性文件配置

<!-- 读取多个配置文件 --><bean id="propertyConfigurerForTest" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <!--order属性表示加载顺序 --><property name="order" value="1"/><!--ignoreUnresolvablePlaceholders为是否忽略不可解析的Placeholder, 配置多个配置文件读取对象时,需要配置为true--><property name="ignoreUnresolvablePlaceholders" value="true" />     <property name="locations">        <list>           <value>classpath:/spring/config/jdbc-parms.properties</value>           <value>classpath:/spring/config/base-config.properties</value>           <value>classpath*:config/jdbc.properties</value>         </list>     </property>    <property name="fileEncoding">        <value>UTF-8</value>      </property> </bean>


0 0