一.Spring采用4種策略降低Java開發(fā)復雜度
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了西區(qū)免費建站歡迎大家使用!
基于POJO的輕量級和最小侵入性編程
依賴注入和面向接口實現(xiàn)松耦合
基于切面和慣例進行聲明式編程
通過切面和模板減少樣板式代碼
PS:POJO
POJO(Plain Ordinary Java Object)簡單的Java對象,實際就是普通JavaBeans,是為了避免和EJB混淆所創(chuàng)造的簡稱。
使用POJO名稱是為了避免和EJB混淆起來, 而且簡稱比較直接. 其中有一些屬性及其getter setter方法的類,沒有業(yè)務(wù)邏輯,有時可以作為VO(value -object)或dto(Data Transform Object)來使用.當然,如果你有一個簡單的運算屬性也是可以的,但不允許有業(yè)務(wù)方法,也不能攜帶有connection之類的方法。
二.依賴注入的三種方式
接口注入
Setter方法注入
具體可參考:http://developer.51cto.com/art/201106/266978.htm
依賴注入:讓組件依賴于抽象,當組件要與其他實際對象發(fā)生依賴關(guān)系時,通過抽象來注入依賴的實際對象。 最大的好處是松耦合。
三.Spring最常用的三種應(yīng)用上下文
1)ClassPathXmlApplicationContext:從classpath處獲取xml文件來加載一個上下文。
2)ClassPathXmlApplicationContext:從文件系統(tǒng)中獲取xml文件來加載一個上下文。
3)XmlWebApplicationContext:從web應(yīng)用獲取xml文件來加載一個上下文。
這三個類都是ApplicationContext接口的實現(xiàn)。
使用:
ApplicationContext context = new ClassPathXmlApplicationContext("config.xml");//config.xml在src目錄下
ApplicationContext context = new FileSystemXmlApplicationContext("d:/config.xml");
四.Bean的生命周期
傳統(tǒng)Java應(yīng)用中的: new進行實例化,就可以被使用,一旦不被使用,JVM自動回收
Spring容器中的Bean:
實例化,填充屬性,(如果實現(xiàn)相應(yīng)接口就)傳BeanID,傳BeanFactory容器實例,傳應(yīng)用上下文的引用,調(diào)用postProcessBeforeInitialization(),調(diào)用afterpropertiesSet(),如果聲明了init-method,也調(diào)用該方法,調(diào)用postProcessAfterInitialization方法。
此時已經(jīng)可以被應(yīng)用程序使用,將一直駐留在應(yīng)用上下文中,直到該應(yīng)用上下文被銷毀。
如果Bean實現(xiàn)了DisosableBean接口,調(diào)用destroy()接口方法,如果用destroy-method聲明了銷毀方法,就調(diào)用該方法。