Spring 學習之一(瞭解spring)

 

1,什麼是spring框架

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

 

Struts   MVC   表示層
Spring   IOC(DI),AOP 
Hibernate  ORM(對象-關係映射) 持久化層(數據處理層)     
 
SSH稱爲輕量級框架。輕量級參考物,之前我們使用的技術爲EJB,EJB是重量級框架(佔用資
源多,複雜,運行需要ejb服務器的支持).ssh 具備EJB的大部分功能,我們把他們稱爲輕量
級框架(佔用資源少,運行不需要服務器支持).

 

2,SPRING組成

 

Struts     表示層 MVC   
Spring     業務邏輯層  IOC(DI),AOP

Hibernate  持久化層(數據處理層) ORM(對象-關係映射)     
Spring框架本身功能很強大,我們平時做項目主要是使用spring的IOC與AOP完成業務層
功能.但spring其實提供了所有層功能實現.比如表示層,我們可以選擇使用
springMVC,springMVC完成的功能與struts一樣.比如開發持久化層也可以選擇
springDAO,SpringDAO的功能與hibernate類似.
表示層  SpringMVC

業務層  IOC,AOP, MVC(SpringMVC) ORM(SpringDAO)
持久化層 SpringDAO
就是說開發一個項目,使用spring一個框架就可以了.只不過表示層一般我們不適用
springMVC而使用struts,持久化層我們不適用springDAO而使用Hibernate.但我們要知道
spring提供了完整的實現.
SpringCore  這是spring的根基,其實這個core就是實現了ioc(DI).不管你使用上面的那
個功能, SpringCore必須使用.
SpringAOP  spring的面向方面編程.
SpringDAO  類似與hibernate的持久化層實現
SpringORM 當spring與hibernate整合時,需要使用此部分功能
SpringWebMVC 類似與struts的表示層實現.
SpringWeb 如果我們項目需要與Struts整合,我們需要使用SpringWeb
SpringContext 如果項目需要與EJB重量級框架整合,需要使用SpringContext

IOC(控制反轉)
IOC 與DI 是從兩個角度描述同一個事務.
IOC是Inverse Of Control的簡寫,叫控制反轉
第一代:自己創建,自己使用.客戶端的主要目的是使用,但卻好耗費很大的精力來創建.
第二代:工廠方法,工廠方法分離對象的創建與使用,工廠負責創建,客戶端只負責使用.
第三代:對象內部只聲明接口,不創建,由容器負責創建並賦值.

控制反轉:控制就是控制權,反轉就是反過來更改.原來不管是自己創建對象還是由工廠類創建
對象,使用那個對象由應用程序決定.也就是說在程序運行前我們就知道是那個具體的實現類
在運行.現在客戶端中只聲明接口,並沒有實際的實現類.程序運行使用那個對象在spring 配
置文件中進行配置,控制權由應用程序轉移給spring 配置文件(spring 容器,IOC 容器),這叫
控制反轉.
區別:傳統的,程序運行前就知道那個具體的實現類在運行.現在,程序運行前並不知道那個具
體類在運行,只有程序真正運行到對應代碼時才知道是那個具體的運行類.

控制,指的控制權,使用哪個對象,不管是自己創建,還是去工廠領一個,以前項目,使用
哪個對象由程序決定,控制權在應用程序手中。使用spring 後,程序中並沒有寫明創建哪
個對象,使用對象是由配置文件(容器)決定的,這就是控制反轉。
DI(依賴注入)
IOC 與DI 是從兩個角度描述同一個事務.
DI是Dependency Injection的簡寫,叫依賴注入
程序中定義接口,程序運行需要實現類,這個實現類不是在編譯階段決定的,而是在程序運行
過程中由容器注入的,我們叫依賴注入。
傳統應用程序在編譯階段就知道了程序的運行軌跡(使用哪個對象,運行哪個對象),使用容器
後,在程序運行階段時才知道使用哪個對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章