javascript
Spring PropertyPlaceholderConfigurer Usage
在Spring里有一個PropertyPlaceholderConfigurer類,可以用來處理用一個properties文件里的內容來替換spring配置文件里使用${}的變量定義,比如有時候我們需要把對數控庫的配置信息在別的properties文件里。
?
1. 首先創建一個Java Bean
?
package test; import org.apache.commons.lang.builder.ToStringBuilder; public class MyBean { private String name; private String prop1; private String prop2; private String prop3; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getProp1() { return prop1; } public void setProp1(String prop1) { this.prop1 = prop1; } public String getProp2() { return prop2; } public void setProp2(String prop2) { this.prop2 = prop2; } public String getProp3() { return prop3; } public void setProp3(String prop3) { this.prop3 = prop3; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }?
?
2. 創建spring.xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" default-lazy-init="true"> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>classpath:test/spring.properties</value> </property> <property name="systemPropertiesMode"> <value>1</value> </property> <property name="searchSystemEnvironment"> <value>true</value> </property> <property name="ignoreUnresolvablePlaceholders"> <value>true</value> </property> </bean> <bean id="myBean" class="test.MyBean"> <property name="name"><value>${name}</value></property> <property name="prop1"><value>${prop1}</value></property> <property name="prop2"><value>${prop2}</value></property> <property name="prop3"><value>${prop3}</value></property> </bean> </beans>?
配置文件中使用${name},${propx}來說明需要使用properties文件中的內容替換
?
3. 創建spring.properties文件,這里變量可以遞歸引用當前properties文件中定義的別的變量
?
name=kongxx prop1=111 prop2=${prop1}222 prop3=${prop2}333?
?
?
4. 寫一個測試程序
package test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext( "/test/spring.xml"); MyBean myBean = (MyBean) ctx.getBean("myBean"); System.out.println(myBean); } }?
運行測試程序,輸出如下:
test.MyBean@1649b44[name=kongxx,prop1=111,prop2=111222,prop3=111222333]
轉載于:https://www.cnblogs.com/wdpp/archive/2010/08/26/2386311.html
總結
以上是生活随笔為你收集整理的Spring PropertyPlaceholderConfigurer Usage的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转,改)UML中的几种关系
- 下一篇: EF学习杂记39:如何重置Relatio