個人整理:
(一)Spring 框架簡介
1,Spring 技術用途和核心?
① 用 Spring 技術構建輕量級的、強壯的 J2EE 應用程序。
② Spring 的核心要點是:支持不綁定到特定 J2EE 服務的可重用業務和數據訪問對象。
2,什麼是框架?
① 框架的主要優勢之一就是其分層架構,分層架構允許您選擇使用哪一個組件(模塊),
同時爲 J2EE 應用程序開發提供集成的框架。Spring 是一個開源框架。
3,Spring 框架模塊(組件)組成?
① Spring 框架是一個分層架構,由 7 個定義良好的模塊組成。Spring 模塊構建在覈心容器之上,核心容器定義了創建、配置和管理 bean 的方式。
② 組成 Spring 框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯合實現。--這也是框架的優勢!
4,Spring 框架的 7 個模塊介紹:
Spring Core:Spring Context: Spring AOP:Spring DAO:Spring ORM:Spring Web 模塊:Spring MVC 框架:
① Spring Core (Spring 核心容器):
核心容器的主要組件是 BeanFactory,它是工廠模式的實現,消除對程序性單例模式的需要。
BeanFactory 使用控制反轉 (IOC) 模式,將應用程序的配置和依賴關係與應用程序代碼(程序邏輯)分開。
② Spring Context (上下文):
一個配置文件,向 Spring 框架提供上下文信息。
③ Spring AOP:
→ 什麼是AOP?
AOP(Aspect Oroented Programming,面向方面編程,面向切面編程,面向特徵編程)是消除代碼重複的一種方法。
是OOP的延續,是GoF設計模式的延續。
可以通過預編譯方式和運行期動態代理實現在不修改源代碼的情況下給程序動態統一添加功能的一種技術。
適合開發J2EE容器服務器,目前JBoss 4.0正是使用AOP框架進行開發。
AOP曾經主要用於學術和研發機構,如今開始進入主流開發領域。
與OOP在面向過程的編程方法基礎上的改進一樣,AOP是在面向對象編程(OOP)方法的基礎上進行改進而來的一種創新的軟件開發方法。
OOP引入了封裝、繼承和多態性等概念來建立一種對象層次結構,用以模擬公共行爲的一個集合。然而,OOP在處理範圍擴展到一些無關對象的公共行爲方面達不到要求。
也就是說,OOP允許你定義從上到下的關係,但並不適合定義從左到右的關係。
例如,看一下日誌功能。日誌代碼往往水平地散佈在所有對象層次中,而與它所散佈到的對象的核心功能毫無關係。
對於其他類型的代碼,如安全性、異常處理和透明的持續性也是如此。這種散佈在各處的無關的代碼被稱爲橫切(cross-cutting)代碼,這也是AOP編碼方法產生的原因。
AOP提供一種提取橫切代碼的方法,這種橫切代碼橫跨各個對象層次,但與它所跨越的對象代碼在功能上沒有相關性。
AOP不是在類中嵌入橫切代碼,而是允許你將橫切代碼提取到一個單獨的模塊中,然後在需要的時候動態地應用該代碼,這個單獨的模塊叫做一個“特徵代碼”(“aspect”,也譯作“標記”)。
通過在你的對象模型中需要應用橫切代碼的地方定義特定的位置–切入點(pointcut)–來實現動態的應用橫切代碼。在運行或編譯時,根據你的AOP框架,橫切代碼被插入指定的切入點。
本質上說,AOP允許你在對象中引入新功能,而對象無需瞭解所引入的功能。這是一個非常有用的概念。
→ 什麼是Spring AOP,及其作用?
Spring AOP 模塊直接將面向方面的編程功能集成到了 Spring 框架中。使 Spring 框架管理的任何對象支持 AOP。
Spring AOP 模塊爲基於 Spring 的應用程序中的對象提供了事務管理服務。不用依賴 EJB 組件,就可以將聲明性事務管理集成到應用程序中。
參考:http://wiki.matrix.org.cn/Wiki.jsp?page=AOP#section-AOP-AOP_E4_BB_8B_E7_BB_8D
http://www.huuoo.com/bbs/thread-19112-1-1.html
④ Spring DAO:
提供了JDBC的抽象層。
JDBC DAO 抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同數據庫供應商拋出的錯誤消息。
異常層次結構簡化了錯誤處理,並且極大地降低了需要編寫的異常代碼數量(例如打開和關閉連接)。
⑤ Spring ORM:
提供了常用的“對象/關係”映射APIs的集成層。
Spring 框架插入了若干個 ORM 框架,從而提供了 ORM 的對象關係工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。
⑥ Spring Web 模塊:
提供了基礎的針對Web開發的集成特性。
Web 上下文模塊建立在應用程序上下文模塊之上,爲基於 Web 的應用程序提供了上下文。
當與WebWork或Struts一起使用Spring時,這個包使Spring可與其他框架結合。
⑦ Spring MVC 框架:
構建 Web 應用程序的 MVC 實現。
有問題請聯繫:[email protected]
參考:Spring Framework 開發參考手冊。
Naveen Balani Spring 系列: Spring 框架簡介。
http://www.ibm.com/developerworks/cn/java/wa-spring1/#author