spring中PropertyPlaceholderConfigurer的使用
阿新 • • 發佈:2019-01-25
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>