spring框架由組織成約20個模塊的功能。,如下圖:
一、Core Container
The Core Container 由 spring-core
, spring-beans
, spring-context
, spring-context-support
, spring-expression
(Spring Expression Language)模塊組成。
在這一部分需要引入spring-core
, spring-beans
, spring-context
, spring-context-support
, spring-expression相對應的架包
。
其中,spring-core
,和spring-beans提供框架的基本組成部分,包括IOC和依賴注入功能。
BeanFactory是一個復雜的工廠模式的實現。ApplicationContext接口是context模塊的焦點。Spring-context-support提供支持集成常見的第三方庫,特別是緩存和調度。
Spring-expression模塊提供了一個強大的表達式語言,用於在運行時查詢和處理對象圖。該語言支持設置和獲取屬性值;屬性賦值,方法調用,訪問數組的內容,收集和索引
器,邏輯和算術運算,命名變量,並從Spring的IOC容器的名字對象檢索,它也支持列表選擇和投影以及常見的列表聚合。
二、Aop and Instrumentation
Spring-aspects模塊提供了一個與AspectJ的整合。(這一部分一般不常用,可以不導入)
Spring-aop模塊提供了一個Aop aspect-oriented編程實施允許自己定義。
Spring-instrument,Spring-instrument-tomcat(這一部分一般不常用,可以不導入)
在這一部分需要導入spring-aop相對應的架包
三、Massaging Spring-massaging(這一部分一般不常用,可以不導入)
四、Data Access/Intergration
Data Access/Intergration層由JDBC,ORM,OXM,IMS和業務模塊組成。
spring-jdbc提供了一個抽象的JDBC層,不需要進行繁瑣的JDBC編碼和數據庫供應商特定錯誤代碼解析。
spring-tx支持實施特殊的接口和你所有的POJO類的編程和聲明式事務管理。
spring-orm提供了流行的對象關系映射的API集成層包括JPA,Hibernate。
spring-oxm提供了一個object/xml映射實現的抽象層。
spring-jms-------java消息服務與Spring-massaging對應(這一部分一般不常用,可以不導入)
在這一部分需要導入spring-jdbc,spring-tx,spring-orm,spring-oxm相對應的架包
五、web
由spring-web,spring-webmvc和spring-websocket組成。
spring-web提供了基於面向web集成功能,他也包含了一個HTTP客戶端和spring的遠程支持網站相關的部分。
spring-webmvc包含spring mvc和REST web services實施。
在這一部分需要導入spring-web,spring-webmvc相對應的架包
六、test
Spring-test支持spring組建junit或TestNG的集成測試和單元測試。它提供了一致spring ApplicationContext的加載和上下文的緩存。他還提供了可以用來測試代碼隔離的模擬對象。
在這一部分需要導入Spring-test相對應的架包