1. 程式人生 > >spring框架 技術體系介紹

spring框架 技術體系介紹

Spring一種開源輕量級框架,為了解決企業應用程式開發複雜性而建立的。致力於JavaEE應用的各層解決方案而不僅僅專注於某一層的方案。Spring技術很容易於使用,並能促進開發人員良好的程式設計習慣。

Spring核心技術

AOP(面向切面)、IOC(控制反轉)。

控制反轉可以將傳統的例項化方式交給ioc進行例項化,從而提高應用程式的響應效率。

Spring體系結構

1.2版本分以下七個,2.0優化為六個。

Spring core:Spring框架的和心,提供IOC和依賴注入。

Spring Context:提供了一種框架風格的方式,來訪問物件,有些像是JNDI登錄檔。繼承了Beans包的功能,同時增加了國際化,事件傳播,資源裝載,資源裝載以及透明建立上下文。

Spring APO:通過配置管理,Spring AOP直接將AOP的功能整合到了Spring框架中。

Spring Dao:提供了JDBC的抽象層,可以冗長的JDBC編碼和解析資料庫廠商特有的錯誤程式碼。

Spring ORM:Spring框架插入了若干個ORM框架,從而提供了ORM物件關係。其中包括,JDO,hibernate,ibatis。所有這些都遵從Spring的通用事務和DAO層異常層次結構。

Spring WEB模組:web上下文模組建立在應用程式上下文模組智商,為基於web的應用程式提供了上下文,所以,他支援與JakartaStruts的繼承。

Spring MVC框架:MVC框架是一個全功能的構建web應用程式的MVC實現。

每個部分的使用場景即功能

Spring core:最基礎,提供IOC和依賴注入。管理bean與bean之間的依賴

Spring Context:上下文容器,beanFactory功能加強的一個自介面

Spring WEB:WEB應用開發的支援

Spring MVC:針對web應用MVC思想實現 

Spring DAO:提供了JDBC的抽象層,簡化了編碼,同時使之更健壯

Spring ORM:與流行的ORM框架的整合

Spring AOP:面向切面,提供與AOP聯盟相容的編成實現。

Spring和SpringContext

Spring核心以BeanFactory為基礎,管理bean之間的依賴關係,它的的核心機制就是依賴注入,以此達到bean對bean實現類的以來。程式從面向具體類的程式設計,轉向面向介面程式設計。而Spring Context是對BeanFactory的加強,它提供了在J2EE中的大量增強功能,比如隨web應用啟動的自動建立,程式國際化等。

Spring WEB和Spring MVC

提供web應用的支援,Spring Web圍繞分發器(DispatcherServlet)設計,DispatcherServlet將請求分發到不同的處理器。Spring MVC提供了清洗的角色劃分:控制器,驗證器,命令物件,表單物件,模型物件,分發器,處理器,對映和試圖解析器。Spring支援多重表現技術。velocity xslt設定可以直接輸出PDF文件或者excel文件

Spring AOP 面向切面程式設計

起源於OOP 對OOP的補充和完善,解決了OOP無力解決的問題。但不可以相互替代。完善了Spring的依賴注入,主要變現在:

1、面向切面程式設計提供宣告式事務處理

2、Spring支援使用者自定義切面

還可以與AspectJ整合,整合允許通過依賴注入配置AspectJ切面

AOP舉例:於OOP中,程式程式碼可以理解為上下銜接。比如某行物件操作出現了異常,對於OOP接下來就是異常處理。而對於AOP程式中不必寫異常處理,直接執行後續程式碼,可以將異常看做透明。將異常交給AOP攔截器,執行異常處理。簡單說,AOP攔截程式流程,執行截面裡程式碼

SpringDao Spring ORM 持久化支援

並沒有實現自己的持久化方案,集合了現有流行持久化框架  JDO,Hibernate,iBaties並切使用JDBC模板,封裝了JDBC的資料庫操作。Spring都提供了一致的程式設計方式,無論是JDBC還是各種流行的ORM持久化框架,Spring都提供了一致的異常繼承體系。它使用模板封裝持久化訪問的通用步驟,來自底層資料庫的異常都是難以恢復的,所以,Spring將資料庫訪問的checked異常轉換為執行時異常,避免使用繁瑣的try。。。catch塊

Spring核心元件

Context  Beans(最核心)  Core  構建了Spring骨架結構。不可能有AOP   WEB功能

Spring設計理念

Beans才是最核心的,容器使用DI(依賴注入)管理所有組成應用系統的元件(Beans)

Spring的設計目標

物件之間的依賴關係用配置檔案實現。實際就是依賴注入機制,注入關係在IOC容器中管理。Spring將物件包裝在bean中達到對這些物件的管理。

Beans元件才是三個核心元件中的核心,bean在Spring中的作用就像是Object對OOP的意義,沒有物件就沒有面向物件程式設計,Spring中沒有bean就沒有Spring存在的意義。

Context:bean包裝Object,資料,為資料提供生存環境。發現bean關係,並進行維護。看做Bean關係集合。IOC容器

Core:發現、建立和維護每個Bean之間關係所需要的一系列工具