Spring 進階(3) 屬性佔位符介面卡
阿新 • • 發佈:2018-12-10
- 屬性佔位符介面卡是在配置檔案中配置一個屬性佔位符介面卡的bean A,然後bean A載入配置檔案,然後其他bean就可以通過佔位符的方式去使用屬性佔位符介面卡已經載入好的值。
- 這種辦法可以當相應的資訊需要修改的時候不用改beans.xml,直接在屬性檔案裡邊改就可以了。
- 程式碼這裡就不真的連結資料庫了,其實連結也很簡單,是把~
package DbPackage; //這是普通bean,可以通過佔位符的方式使用屬性佔位符介面卡已經配置好的屬性值 public class Db { private String driver; private String url; private String user; private String pass; public void setDriver(String driver) { this.driver = driver; } public String getDriver() { return driver; } public String getUrl() { return url; } public String getUser() { return user; } public String getPass() { return pass; } public void setUrl(String url) { this.url = url; } public void setUser(String user) { this.user = user; } public void setPass(String pass) { this.pass = pass; } }
package TestPackage; import DbPackage.Db; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; //測試類 public class SpringTest { public static void main(String []args){ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); Db db = applicationContext.getBean("dataSource", Db.class); System.out.println(db.getDriver()); } }
<?xml version="1.0" encoding="GBK"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> <!--這就是屬性佔位符介面卡,無需指定id。實現類是PropertyPlaceholderConfigurer--> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>dbconn.properties</value> </list> </property> </bean> <!--通過佔位符的方式獲得相應的值,注意名字要寫對--> <bean id="dataSource" class="DbPackage.Db" p:driver="${driver}" p:url="${url}" p:user="${user}" p:pass="${driver}" /> </beans>
driver = com.microsoft.sqlserver.jdbc.SQLServerDriver url = jdbc:sqlserver://localhost:1433; DatabaseName=homework_Submit_System user = root pass = 123456
這是我看李剛編著的《輕量級javaEE企業應用實戰(第五版)-Struts2+Spring5+Hibernate5/JAP2》後總結出來的。