Spring利用propertyConfigurer类处理property配置

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\:lms
jdbc_lms_driver=oracle.jdbc.driver.OracleDriver
jdbc_lms_user=abcd
jdbc_lms_password=adbcpasswd

2.2 springContext文件配置

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中定义的工具。

扫描二维码关注公众号,回复: 1925359 查看本文章

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>


猜你喜欢

转载自blog.csdn.net/xufengzhu/article/details/70332484
今日推荐