體系結構web
Spring 有可能成爲全部企業應用程序的一站式服務點,然而,Spring 是模塊化的,容許你挑選和選擇適用於你的模塊,沒必要要把剩餘部分也引入。下面的部分對在 Spring 框架中全部可用的模塊給出了詳細的介紹。spring
Spring 框架提供約 20 個模塊,能夠根據應用程序的要求來使用。編程

核心容器服務器
核心容器由核心,Bean,上下文和表達式語言模塊組成,它們的細節以下:框架
- 核心模塊提供了框架的基本組成部分,包括 IoC 和依賴注入功能。
- Bean 模塊提供 BeanFactory,它是一個工廠模式的複雜實現。
- 上下文模塊創建在由核心和 Bean 模塊提供的堅實基礎上,它是訪問定義和配置的任何對象的媒介。ApplicationContext 接口是上下文模塊的重點。
- 表達式語言模塊在運行時提供了查詢和操做一個對象圖的強大的表達式語言。
數據訪問/集成模塊化
數據訪問/集成層包括 JDBC,ORM,OXM,JMS 和事務處理模塊,它們的細節以下:測試
- JDBC 模塊提供了刪除冗餘的 JDBC 相關編碼的 JDBC 抽象層。
- ORM 模塊爲流行的對象關係映射 API,包括 JPA,JDO,Hibernate 和 iBatis,提供了集成層。
- OXM 模塊提供了抽象層,它支持對 JAXB,Castor,XMLBeans,JiBX 和 XStream 的對象/XML 映射實現。
- Java 消息服務 JMS 模塊包含生產和消費的信息的功能。
- 事務模塊爲實現特殊接口的類及全部的 POJO 支持編程式和聲明式事務管理。
Web編碼
Web 層由 Web,Web-MVC,Web-Socket 和 Web-Portlet 組成,它們的細節以下:spa
- Web 模塊提供了基本的面向 web 的集成功能,例如多個文件上傳的功能和使用 servlet 監聽器和麪向 web 應用程序的上下文來初始化 IoC 容器。
- Web-MVC 模塊包含 Spring 的模型-視圖-控制器(MVC),實現了 web 應用程序。
- Web-Socket 模塊爲 WebSocket-based 提供了支持,並且在 web 應用程序中提供了客戶端和服務器端之間通訊的兩種方式。
- Web-Portlet 模塊提供了在 portlet 環境中實現 MVC,而且反映了 Web-Servlet 模塊的功能。
其餘對象
還有其餘一些重要的模塊,像 AOP,Aspects,Instrumentation,Web 和測試模塊,它們的細節以下:
- AOP 模塊提供了面向方面的編程實現,容許你定義方法攔截器和切入點對代碼進行乾淨地解耦,它實現了應該分離的功能。
- Aspects 模塊提供了與 AspectJ 的集成,這是一個功能強大且成熟的面向切面編程(AOP)框架。
- Instrumentation 模塊在必定的應用服務器中提供了類 instrumentation 的支持和類加載器的實現。
- Messaging 模塊爲 STOMP 提供了支持做爲在應用程序中 WebSocket 子協議的使用。它也支持一個註解編程模型,它是爲了選路和處理來自 WebSocket 客戶端的 STOMP 信息。
- 測試模塊支持對具備 JUnit 或 TestNG 框架的 Spring 組件的測試。
原文出處:http://wiki.jikexueyuan.com/project/spring/