您好,登錄后才能下訂單哦!
一.Spring采用4種策略降低Java開發復雜度
基于POJO的輕量級和最小侵入性編程
依賴注入和面向接口實現松耦合
基于切面和慣例進行聲明式編程
通過切面和模板減少樣板式代碼
PS:POJO
POJO(Plain Ordinary Java Object)簡單的Java對象,實際就是普通JavaBeans,是為了避免和EJB混淆所創造的簡稱。
使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接. 其中有一些屬性及其getter setter方法的類,沒有業務邏輯,有時可以作為VO(value -object)或dto(Data Transform Object)來使用.當然,如果你有一個簡單的運算屬性也是可以的,但不允許有業務方法,也不能攜帶有connection之類的方法。
二.依賴注入的三種方式
接口注入
Setter方法注入
具體可參考:http://developer.51cto.com/art/201106/266978.htm
依賴注入:讓組件依賴于抽象,當組件要與其他實際對象發生依賴關系時,通過抽象來注入依賴的實際對象。 最大的好處是松耦合。
三.Spring最常用的三種應用上下文
1)ClassPathXmlApplicationContext:從classpath處獲取xml文件來加載一個上下文。
2)ClassPathXmlApplicationContext:從文件系統中獲取xml文件來加載一個上下文。
3)XmlWebApplicationContext:從web應用獲取xml文件來加載一個上下文。
這三個類都是ApplicationContext接口的實現。
使用:
ApplicationContext context = new ClassPathXmlApplicationContext("config.xml");//config.xml在src目錄下
ApplicationContext context = new FileSystemXmlApplicationContext("d:/config.xml");
四.Bean的生命周期
傳統Java應用中的: new進行實例化,就可以被使用,一旦不被使用,JVM自動回收
Spring容器中的Bean:
實例化,填充屬性,(如果實現相應接口就)傳BeanID,傳BeanFactory容器實例,傳應用上下文的引用,調用postProcessBeforeInitialization(),調用afterpropertiesSet(),如果聲明了init-method,也調用該方法,調用postProcessAfterInitialization方法。
此時已經可以被應用程序使用,將一直駐留在應用上下文中,直到該應用上下文被銷毀。
如果Bean實現了DisosableBean接口,調用destroy()接口方法,如果用destroy-method聲明了銷毀方法,就調用該方法。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。