1. 程式人生 > >spring3中context:property-placeholder

spring3中context:property-placeholder

有些引數在某些階段中是常量,比如:
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提供的註解當中,為註解的屬性提供值