####1. 核心容器數據庫
- Core 模塊:主要包括Spring 框架基本的核心工具類,其餘模塊都要基於該模塊。
- Beans 模塊:包含訪問配置文件、建立和管理bean以及進行IoC/DI操做相關的類。
- Context 模塊:構建於Core 和Beans 模塊之上,提供了一種相似JNDI註冊器的框架式的對象訪問方法。Context 模塊繼承了Beans 模塊的特性,爲Spring 核心提供了大量擴展,添加了對 國際化、事件傳播、資源加載和對Context 的透明建立的支持。同時也支持J2EE的一些特性,好比EJB、JMX和基礎的遠程處理。ApplicationContext接口是Context模塊的關鍵。
- Expression Language 模塊:提供了一個強大的表達式語言用於在運行時查詢和操縱對象。該語言支持設置/獲取屬性的值,屬性的分配,方法的調用,訪問數組上下文、容器和索引器、邏輯和算術運算符、命名變量以及從Spring 的IOC容器中根據名稱檢索對象。也支持list投影、選擇和通常的list聚合。
2. 數據訪問與集成
- JDBC模塊:提供了一個JDBC抽象層,它能夠消除冗長的JDBC編碼和解析數據庫廠商特有的錯誤代碼。這個模塊包含了Spring對JDBC數據訪問進行封裝的全部類。
- ORM模塊:對象-關係映射API,如JPA、JDO、Hibernate、MyBatis等。
- OXM模塊:Object/XML映射抽象層,具體實現包括JAXB、Castor、XStream等。
- JMS模塊:消息模塊。
- Transaction模塊:支持編程和聲明性的事務管理。
3. Web
- Web模塊:提供了基礎的面向Web的集成特性。例如,多文件上傳,使用servlet listeners初始化IoC容器以及一個面向Web的應用上下文。
- Web-Servlet模塊:包含Spring的MVC實現。
- Web-Struts模塊:提供了對Struts的支持。
- Web-Porlet模塊:提供了用於Porlet環境和Web-Servlet模塊的MVC的實現。
4. AOP
- Aspects模塊:提供了對AspectJ的支持。
- Instrumentation模塊:提供了class instrumentation支持和classloader實現,使得能夠在特定的應用服務器上使用。
5. Test
Test模塊支持使用JUnit和TestNG對Spring組件進行測試。編程