Srping主要模組
Core Container
spring-core,
spring-beans: 提供基礎功能,包括IoC和DI等特性。對依賴起到解耦作用(BeanFactory)。
spring-context: 上下文模組,基於core和beans構建,context實現以類似JNDI登錄檔的方式訪問beans(framework-style manner,通過物件id訪問context中的物件)。此外,context增加了對國際化、事件傳播、資源載入、JavaEE(EJB,JMX,RMI
)以及讓容器透明地建立context等功能的支援。ApplicationContext是此模組的重點。
spring-context-support:為第三方包的整合提供支援,例如:caching (EhCache, Guava, JCache), mailing (JavaMail), scheduling (CommonJ, Quartz) and template engines (FreeMarker, JasperReports, Velocity)。
spring-expression:提供SPEL支援,可以在執行時根據錶帶是進行查詢和操作物件。
AOP and Instrumentation
- spring-aop:提供AOP支援
- spring-aspects: 支援AspectJ的整合
- spring-instrument,spring-instrument-tomcat: 對特定應用伺服器的代理介面
Messaging
- spring-messaging:為基於訊息的應用提供服務,包含訊息的抽象(
Message
,MessageChannel
,MessageHandler
)以及相關注解
Data Access/Integration
- spring-jdbc:提供JDBC抽象層,實現了繁雜的JDBC編碼和資料庫廠商錯誤程式碼的轉換工作
- spring-tx:對程式設計式和宣告式事務管理的支援
- spring-orm :提供對ORM(JPA, JDO, Hibernate)的支援
- spring-oxm:對Object/XML對映的整合支援,例如:JAXB, Castor, XMLBeans, JiBX and XStream
- spring-jms:JMS服務,包含了對訊息的生產和消費相關功能,可以整合spring-messaging
Web
- spring-web:提供基本的面向web應用的特性,例如檔案上傳、面向web的Ioc容器和context、HTTP client、web相關的遠端呼叫
- spring-webmvc:包含了用於web應用的spring的MVC和REST Web Service實現
- spring-websocket:WebSocket和SockJS的實現,包含了對STOMP的支援
- spring-webmvc-portlet:提供用於portlet環境的的MVC實現
Test
- spring-test:支援對spring元件的單元測試和整合測試,可以使用JUNIT和TestNG作為測試元件