spring3中context:property-placeholder
阿新 • • 發佈:2019-01-14
有些引數在某些階段中是常量,比如:
1、在開發階段我們連線資料庫時的連線url,username,password,driverClass等
2、分散式應用中client端訪問server端所用的server地址,port,service等
3、配置檔案的位置
而這些引數在不同階段之間又往往需要改變
比如:在專案開發階段和交付階段資料庫的連線資訊往往是不同的,分散式應用也是同樣的情況。
需要在一個階段內不需要頻繁書寫一個引數的值,而在不同階段間又可以方便的切換引數配置資訊
spring3中提供了一種簡便的方式就是context:property-placeholder/元素
只需要在spring的配置檔案裡新增一句:<context:property-placeholder location="classpath:jdbc.properties"/> 即可,這裡location值為引數配置檔案的位置,引數配置檔案通常放在src目錄下,而引數配置檔案的格式跟java通用的引數配置檔案相同,即鍵值對的形式,例如:
#jdbc配置 test.jdbc.driverClassName=com.mysql.jdbc.Driver test.jdbc.url=jdbc:mysql://localhost:3306/test test.jdbc.username=root test.jdbc.password=root
為spring配置的bean的屬性設定值,比如spring有一個jdbc資料來源的類DriverManagerDataSource,在配置檔案裡這麼定義bean:
<bean id="testDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${test.jdbc.driverClassName}"/> <property name="url" value="${test.jdbc.url}"/> <property name="username" value="${test.jdbc.username}"/> <property name="password" value="${test.jdbc.password}"/> </bean>
也可以將${ }這種形式的變數用在spring提供的註解當中,為註解的屬性提供值