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 組成,它們的細節如下:
-
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 元件的測試。