Spring框架采用分層架構,根據不同的功能被划分成了多個模塊,這些模塊大體可分為 Data Access/Integration、Web、AOP、Aspects、Messaging、Instrumentation、Core Container 和 Test,如圖 1 所示。
1. Data Access/Integration(數據訪問/集成)
數據訪問/集成層包括 JDBC、ORM、OXM、JMS 和 Transactions 模塊,具體介紹如下。
- JDBC 模塊:提供了一個 JDBC 的抽象層,大幅度減少了在開發過程中對數據庫操作的編碼。
- ORM 模塊:對流行的對象關系映射 API,包括 JPA、JDO、Hibernate 和 iBatis 提供了的集成層。
- OXM 模塊:提供了一個支持對象/XML 映射的抽象層實現,如 JAXB、Castor、XMLBeans、JiBX 和 XStream。
- JMS 模塊:指 Java 消息服務,包含的功能為生產和消費的信息。
- Transactions 事務模塊:支持編程和聲明式事務管理實現特殊接口類,並為所有的 POJO。
2. Web 模塊
Spring 的 Web 層包括 Web、Servlet、Struts 和 Portlet 組件,具體介紹如下。
- Web 模塊:提供了基本的 Web 開發集成特性,例如多文件上傳功能、使用的 Servlet 監聽器的 IoC 容器初始化以及 Web 應用上下文。
- Servlet模塊:包括 Spring 模型—視圖—控制器(MVC)實現 Web 應用程序。
- Struts 模塊:包含支持類內的 Spring 應用程序,集成了經典的 Struts Web 層。
- Portlet 模塊:提供了在 Portlet 環境中使用 MV C實現,類似 Web-Servlet 模塊的功能。
3. Core Container(核心容器)
Spring 的核心容器是其他模塊建立的基礎,由 Beans 模塊、Core 核心模塊、Context 上下文模塊和 Expression Language 表達式語言模塊組成,具體介紹如下。
- Beans 模塊:提供了 BeanFactory,是工廠模式的經典實現,Spring 將管理對象稱為 Bean。
- Core 核心模塊:提供了 Spring 框架的基本組成部分,包括 IoC 和 DI 功能。
- Context 上下文模塊:建立在核心和 Beans 模塊的基礎之上,它是訪問定義和配置任何對象的媒介。ApplicationContext 接口是上下文模塊的焦點。
- Expression Language 模塊:是運行時查詢和操作對象圖的強大的表達式語言。
4. 其他模塊
Spring的其他模塊還有 AOP、Aspects、Instrumentation 以及 Test 模塊,具體介紹如下。
- AOP 模塊:提供了面向切面編程實現,允許定義方法攔截器和切入點,將代碼按照功能進行分離,以降低耦合性。
- Aspects 模塊:提供與 AspectJ 的集成,是一個功能強大且成熟的面向切面編程(AOP)框架。
- Instrumentation 模塊:提供了類工具的支持和類加載器的實現,可以在特定的應用服務器中使用。
- Test 模塊:支持 Spring 組件,使用 JUnit 或 TestNG 框架的測試。
文章轉載至:http://c.biancheng.net/view/4242.html