1. 程式人生 > >spring中PropertyPlaceholderConfigurer的使用

spring中PropertyPlaceholderConfigurer的使用

1、在框架中經常要用到資料庫連線的部分,或者一些常用的配置檔案,這些配置檔案放在properties檔案中有利於以後的修改,如果放在xml中,如果修改,需要重新部署伺服器。其次還有安全性。

2、在spring配置檔案中配置PropertyPlaceholderConfigurer類可以在xml中設定一些佔位符,這些佔位符將會使用properties中的配置資訊進行填充。

<!-- 將多個配置檔案讀取到容器中,交給Spring管理 -->  
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    <property name="locations">  
        <list>  
           <!-- 這裡支援多種定址方式:classpath和file -->  
           <value>classpath:pro1.properties</value>
           <!-- 推薦使用file的方式引入,這樣可以將配置和程式碼分離 -->  
           <value>file:/mypro/jdbc.properties</value>  
        </list>  
    </property>  
</bean>  

3、在jdbc.properties中可以放入資料庫相關的配置資訊

driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
user=root
password=root
hibernate.dialect=org.hibernate.dialect.MySQLDialect

4、然後就可以在spring的配置檔案中採用el表示式的形式使用配置的這些屬性。
	<!-- 資料來源配置,使用應用內的DBCP資料庫連線池 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 
		destroy-method="close"  >
		<!-- Connection Info -->
		<property name="driverClassName" value="${driverClass}" />
		<property name="url" value="${jdbcUrl}" />
		<property name="username" value="${user}" />
		<property name="password" value="${password}" />
        <property name="removeAbandonedTimeout" value="6000000"/>
	</bean>