概覽
Spring 是一個分層架構、由一系列的模塊組成web
Core Container
核心容器,包含了 Core、Beans、Context、Expression Language 模塊。spring
Core 和 Beans 模塊是框架的基礎部分、提供 IOC (控制反轉)和依賴注入特性,這裏的基礎概念是 BeanFactory。數據庫
-
Core: 主要包含 Spring 框架基本的核心
工具類,Spring 的其餘組件都要用到這個包裏的類,Core 模塊是其餘組件的基本核心。
-
Beans: 包含訪問配置文件、建立和管理 Bean 以及進行 IOC 操做相關的全部類。
-
Context: 構建在 Core 和 Beans 模塊基礎上,提供了相似 JNDI 註冊期的框架式的對象訪問方法。Context 繼承了 Beans 的特性,爲 Spring 和行提供了大量擴展,添加了國際化,事件傳播,資源加載和 Context 的透明建立的支持。
ApplicationContext 接口是 Context 模塊的關鍵。
-
Expression Language: 提供了強大的表達式語言,用於在運行時查詢和操縱對象。
Data Access / Integration
包含 JDBC、ORM、JMS、OXM 和 Transaction 模塊。編程
-
Jdbc: 該模塊提供了一個 JDBC 抽象層,它能夠消除冗長的 JDBC 編碼和解析數據庫廠商特有的錯誤碼。這個模塊包含了 Spring 對 JDBC 數據訪問進行封裝的全部類。
-
ORM: ORM 模塊爲流行的對象-關係映射 API ,如 JPA、Hibernate、Mybatis等,提供了一個交互層。利用 ORM 封裝包,能夠混合使用全部 Spring 提供的特性進行 O/R 映射。
-
Oxm: 提供了一個對 Object / XML 映射實現對抽象層。
-
-
Transaction: 支持編程性和聲明性的事務管理,這些事務類必須實現特定的接口。
Web
web 上下文模塊創建在應用程序上下文模塊之上,爲基於 Web 的應用程序提供了上下文。Web 層包含了 Web 模塊、Web-servlet、Web-portlet。架構
-
Web: 提供了基礎的面向 Web 的集成特性,如文件上傳,使用 servlet listeners 初始化 IOC 容器以及一個面向 Web 的應用上下文。
-
Web-servlet: 包含了 Spring 的 MVC實現.
-
Web-portlet: 提供了 portlet 環境和 web-servlet 模塊的 MVC 實現。
AOP
提供了一個符合 AOP 聯盟標準的面相切面編程的實現。直接將面向切面的編程功能集成到 Spring 的框架中。框架
-
Aspects: 提供了對 AspectJ 的集成支持。
-
Instrumentation: 提供了 class instrumentation 和 classloader 的實現。
Test
支持 JUnit 和 TestNG 對 Spring 組件進行測試。編輯器