首頁  >  文章  >  Java  >  spring框架學習(一)

spring框架學習(一)

黄舟
黄舟原創
2016-12-29 13:07:521581瀏覽

1,什麼是spring框架
spring是J2EE應用程式框架,是輕量級的IoC和AOP的容器框架,主要是針對javaBean的生命週期進行管理的輕量級容器,可以單獨使用,也可以和Struts框架,ibatis框架等組合使用。


2,架構概述

spring框架學習(一)

1)IoC(Inversion of Control)控制反轉,物件創建責任的反轉,在spring中BeanFacotory是IoC容器的核心接口,負責實例化,定位,應用配置程式中的物件及建立這些物件間的依賴。 XmlBeanFacotory實作BeanFactory接口,透過取得xml設定檔數據,組成應用程式物件及物件間的依賴關係。
spring中有三種注入方式,一種是set注入,一種是介面注入,另一種是建構方法注入。

2)AOP面向切面編程
aop就是縱向的編程,如下圖所示,業務1和業務2都需要一個共同的操作,與其往每個業務中都添加同樣的代碼,不如寫一遍代碼,讓兩個業務共同使用這段程式碼。

spring中面向切面變成的實現有兩種方式,一種是動態代理,一種是CGLIB,動態代理必須要提供接口,而CGLIB實現是有繼承。

3,為什麼使用spring框架
在不使用spring框架之前,我們的service層中要使用dao層的對象,不得不在service層中new一個對象。如下:

//dao层对象
public class UserDao{
   publicvoid insert(User user){}
}
 
//service层对象
public classUserService{
   publicvoid insert(User user){
       UserDaouserdao = new UserDao();
       userdao.insert(user);
   }
}

存在的問題:層與層之間的依賴。
使用框架後:

//dao层对象
public class UserDao{
    publicvoid insert(User user){}
}
 
//service层对象
public classUserService{
   privateUserDao userdao;
 
   publicUserDao getUserdao() {
      returnuserdao;
   }
   publicvoid setUserdao(UserDao userdao) {
      this.userdao= userdao;
   }
 
   publicvoid insert(User user){
      userdao.insert(user);
   }
 
}

service層要用dao層物件需要設定到xml設定檔中,至於物件是怎麼建立的,關係是怎麼組合的都交給了spring框架去實作。

4,框架優點

輕量級的容器框架沒有侵入性
使用IoC容器更加容易組合對象直接間關係,面向接口編程,降低耦合
Aop可以更加容易的進行功能擴展,遵循ocp開發原則
建立物件預設是單例的,不需要再使用單例模式進行處理


5,缺點:業務功能依賴spring特有的功能,依賴與spring環境。

 以上就是spring框架學習(一)的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn