一、在 Spring Config 文件中配置 Bean 時,有時候需要在 Bean 的配置里添加 系統部署的細節信息, 如文件路徑,數據源配置信息。而這些部署細節實際上需要在配置文件外部來定義。 二、Spring 提供了一個 PropertyPlaceholderConfigurer 的 Bean ...
一、在 Spring Config 文件中配置 Bean 時,有時候需要在 Bean 的配置里添加 系統部署的細節信息, 如文件路徑,數據源配置信息。而這些部署細節實際上需要在配置文件外部來定義。
二、Spring 提供了一個 PropertyPlaceholderConfigurer 的 BeanFactory 後置處理器。這個處理器允許用戶將 Bean 的配置部分內容外移到屬性文件中,然後可以在 Bean 的配置文件
里使用形式為 ${var}的變數,PropertyPlaceholderConfigurer 從屬性文件裡加載屬性,並使用這些屬性來替換變數。
三、Spring 還允許在屬性文件中使用 ${key},以屬性間的互相引用。
四、使用:需要註冊 PropertyPlaceholderConfigurer 。通過 <context:property-placeholder location="props.properties"/> 這種方式來指定屬性文件。
五、例子:
1.目錄結構
2. spring-config.xml
<context:property-placeholder location="db.properties"/> <bean class="com.nucsoft.spring.bean.Employee" id="employee" p:empName="${abc}" p:age="${cde}" scope="prototype"/>
3.db.properties
abc=123456
cde=${abc}
4.測試
@Test public void test01() { Employee employee = ctx.getBean(Employee.class); System.out.println(employee); }
5.控制台輸出
Employee{empName='123456', age=123456}