文章詳情頁
Spring: A Developer’s Notebook筆記和小結(jié)(4)
瀏覽:4日期:2024-06-15 17:28:58
內(nèi)容: /**作者:Willpower來源:Rifoo Technology(http://www.rifoo.com)時間:2005-12-29備注:轉(zhuǎn)載請保留以上聲明**/本篇主要介紹使用Spring來進行依賴注入,以及對以前代碼的改進。如果你機器上沒有安裝Spring,需要先到官方網(wǎng)站(http://www.springframework.org)上去下載,將Spring的lib放到warWEB-INFlib下,讓應用能夠找到它們。將現(xiàn)有應用程序轉(zhuǎn)移到一個設計良好的POJO的基于Spring的應用其實很簡單,只需要以下幾個步驟:1 利用依賴注入的思想對現(xiàn)有代碼進行重構(gòu)。model對象看作bean,service看作aspect。一般我們只有bean,而沒有使用到service。2 去掉代碼中實例化對象和設置依賴(即通過set方法設置)的那部分代碼。3 創(chuàng)建一個配置文件來描述bean和aspect。4 通過Spring來訪問我們的代碼。下面我們就按照上面的步驟來改進我們的程序:先看看管理我們bean和aspect的配置文件,目前這里沒有用到aspect。Example 1-9. RentABike-context.xml<?xml version='1.0' encoding='UTF-8'?> 'Bruce's Bikes' 這里的,后面的class是具體類,實際情況可能需要完整的包名+類名的形式,這里使用的默認包。而bean前面的id用來唯一標示這個bean。下面的'Bruce's Bikes'是給這個bean設置屬性,這里就是所謂依賴注入的思想。屬性名和值可以被動態(tài)的set到相應的bean中去。下面這個commandLineView也一樣,只不過表示它有個屬性是rentaBike bean的一個引用。大家如果不明白,后面會講到具體的實現(xiàn)。接著來看看這個改進后的裝配器:Example 1-10. RentABikeAssembler.javaimport org.springframework.context.support.ClassPathXmlApplicationContext;public class RentABikeAssembler { public static final void main(String[] args) { //使用這一句來讀取上面定義的配置文件 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext('RentABikeApp-context.xml'); //完成依賴注入 CommandLineView clv = (CommandLineView)ctx.getBean('commandLineView'); clv.printAllBikes( ); }}它使用ClassPathXmlApplicationContext('RentABikeApp-context.xml')來讀取配置文件,Spring其實有很多方法來讀取配置文件,后面會陸續(xù)介紹的。ctx.getBean('commandLineView');這一句先到配置文件中去找id為commandLineView的bean,這個時候找到了其具體類是CommandLineView,并將屬性和值注入到這個對象中。我們回顧一下改動前的代碼:public class RentABikeAssembler { public static final void main(String[] args) { CommandLineView clv = new CommandLineView( );//1 RentABike rentaBike = new ArrayListRentABike('Bruce's Bikes');//2 clv.setRentaBike(rentaBike);//3 clv.printAllBikes( ); }}大家可以發(fā)現(xiàn)上面我注釋的3句是被替換掉了,這些操作是由Spring框架來完成了依賴注入。依賴注入的好處就是可以通過修改配置文件來給類動態(tài)加載相關的屬性和引用,而不用修改代碼。 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd /**作者:Willpower來源:Rifoo Technology(http://www.rifoo.com)時間:2005-12-29備注:轉(zhuǎn)載請保留以上聲明**/本篇主要介紹使用Spring來進行依賴注入,以及對以前代碼的改進。如果你機器上沒有安裝Spring,需要先到官方網(wǎng)站(http://www.springframework.org)上去下載,將Spring的lib放到warWEB-INFlib下,讓應?
標簽:
Spring
相關文章:
1. JavaScript閉包原理與用法學習筆記2. vue學習筆記之slot插槽用法實例分析3. 這一次搞懂Spring的Bean實例化原理操作4. Python GUI編程學習筆記之tkinter界面布局顯示詳解5. lighttpd+PHP(FAST-CGI)+MySQL的學習筆記6. Spring源碼解析之Bean的生命周期7. Java 如何從spring容器中獲取注入的bean對象8. springboot static關鍵字真能提高Bean的優(yōu)先級(厲害了)9. Linux 下安裝PHP性能分析工具 xhprof 筆記10. Spring中bean的初始化和銷毀幾種實現(xiàn)方式詳解
排行榜
