一,spring的整體架構

 一,spring的整體架構

spring是一個分層架構,被分爲大約有20個模塊,主要分爲五大類。

一(1),Core Container(核心容器)

    Core核心容器模塊 包括 core , beans ,context , Expression Language模塊。core和beans 模塊是框架的基礎部分(beanfactory)提供IOC和依賴注入的特性。

  • core模塊是spring的核心工具類,spring的其他組件都要用到這個包裏的類。

  • bean模塊是所有應用都要用到的,包含訪問配置文件,創建管理bean 以及進行控制反轉和依賴注入的各種操作

  • context模塊構建於core和beans模塊之上,繼承了beans的特性,爲spring核心提供了大量拓展,添加了對國際化例如資源綁定,事件傳播,資源加載和對context透明創建的支持。ApplicationContext接口是Context模塊的關鍵。 

  • Expression language模塊提供了一個強大的表達式語言用於在運行時查詢和操縱對象。支持設置和獲取屬性的值,屬性的分配,方法的調用,訪問數組上下文,容器和索引器,邏輯和算術運算符,命名變量和從IOC容器中根據名稱檢索對象,支持list投影,選擇,和一般的list聚合。

一(2),Data Access/Integration

Data Access/Integration層包含有JDBC,ORM,OXM,JMS和Trascation模塊,其中:

  • JDBC模塊提供了一個JDBC抽象層,包含了spring對JDBC數據訪問進行封裝的所有類。
  • ORM模塊爲流行的對象-關係映射API,入JPA,JDO,Hibernate,iBatis等,提供了一個交互層,利用ORM封裝包可以混合所有spring提供的特性進行O/R映射。
  • OXM模塊提供了Obeject/XML映射實現的抽象層,包括JAXB, Castor,  XMLBeans, JiBX,  XStream。
  • JMS模塊主要包含了一些製造和消費消息的特性。
  • Transaction模塊支持編程和聲明性的事物管理,這些事物類必須實現特定的接口,並對所有的pojo都適用。

一(3),web

web上下文模塊建立在應用程序上下文模塊之上,爲基於web的應用程序提供了上下文。

  • web模塊,提供了基礎的面向web的集成特性。例如,多文件上傳等
  • web-servlet模塊,包含了spring的modile-view-controller(MVC)實現。
  • web-struts模塊,提供了對於struts的支持。
  • web-porlet模塊,提供了porlet環境和web-servlet模塊的MVC實現。

一(4),aop

AOP模塊可以定義方法攔截器和切點,從而將邏輯代碼分開,降低耦合性。

  • aspects模塊提供了對於AspectJ的定義支持。
  • Instrumentation模塊提供了class instrumentation支持和classloader實現,使得可以在特定的應用服務器上使用。

一(5),test

test模塊支持用Junit和TestNG對spring組件進行測試。

 

 

 

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