開發框架-Spring-簡介

原文出處:http://blog.csdn.net/lishuangzhe7047/article/details/20740209


1,什麼是spring框架

springJ2EE應用程序框架,是輕量級的IoCAOP的容器框架,主要是針對javaBean的生命週期進行管理的輕量級容器,可以單獨使用,也可以和Struts框架,ibatis框架等組合使用。

 

 

2,架構概述

 

 

  1IoC(Inversion of Control)控制反轉,對象創建責任的反轉,在springBeanFacotoryIoC容器的核心接口,負責實例化,定位,配置應用程序中的對象及建立這些對象間的依賴。XmlBeanFacotory實現BeanFactory接口,通過獲取xml配置文件數據,組成應用對象及對象間的依賴關係。

spring中有三種注入方式,一種是set注入,一種是接口注入,另一種是構造方法注入。

 

    2AOP面向切面編程

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

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

 

3,爲什麼使用spring框架

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

[java] view plain copy
 print?
  1. //dao層對象  
  2. public class UserDao{  
  3.    publicvoid insert(User user){}  
  4. }  
  5.    
  6. //service層對象  
  7. public classUserService{  
  8.    publicvoid insert(User user){  
  9.        UserDaouserdao = new UserDao();  
  10.        userdao.insert(user);  
  11.    }  
  12. }  


存在的問題:層與層之間的依賴。

使用框架後:


[java] view plain copy
 print?
  1. //dao層對象  
  2. public class UserDao{  
  3.     publicvoid insert(User user){}  
  4. }  
  5.    
  6. //service層對象  
  7. public classUserService{  
  8.    privateUserDao userdao;  
  9.    
  10.    publicUserDao getUserdao() {  
  11.       returnuserdao;  
  12.    }  
  13.    publicvoid setUserdao(UserDao userdao) {  
  14.       this.userdao= userdao;  
  15.    }  
  16.    
  17.    publicvoid insert(User user){  
  18.       userdao.insert(user);  
  19.    }  
  20.    
  21. }  

service層要用dao層對象需要配置到xml配置文件中,至於對象是怎麼創建的,關係是怎麼組合的都交給了spring框架去實現。


4,框架優點

輕量級的容器框架沒有侵入性

使用IoC容器更加容易組合對象直接間關係,面向接口編程,降低耦合

Aop可以更加容易的進行功能擴展,遵循ocp開發原則

創建對象默認是單例的,不需要再使用單例模式進行處理

 

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


發佈了3 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章