Spring Framework 是一個分層框架,包含一些列功能。以下圖web
模塊解析:spring
包含 Beans,Core,Context,Expresstion Language 模塊,其中 Beans和Core 模塊是框架的基礎部分,提供 IOC(控制反轉) 和 依賴注入的特性。主要使用 Factory 設計模式。編程
Core:包含 Spring框架基本的核心工具類,是其餘組件的基本核心。設計模式
Beans:全部應用均使用。提供訪問配置文件,建立和管理 bean 以及 IOC/DI 操做相關類。框架
Context:構建 在 Beans和Core 組件之上,提交一種註冊式的框架式的對象訪問方式,而且提供了大量的擴展,添加了資源綁定,事件傳播,資源加載,Context透明建立的支持。ApplicationContext接口是Context模塊的關鍵。工具
Expresstion Language 提供一種強大的表達式語言在運行時操縱和查詢對象。測試
包含 JDBC,ORM,OXM,JMS和Transactions模塊。spa
JDBC:提供一個對 jdbc 的抽象層,包含spring對JDBC數據訪問的封裝類。設計
ORM:爲 對象-關係映射的API,表明交互,利用Spring特性進行 O/R映射,Spring其中添加了多對象
個ORM框架,提供ORM的對象關係工具,其必須聽從Spring的通用錯誤和DAO異常層次結構。
OXM:提供了一個Object/Xml 映射實現的抽象層
JMS:主要包含一些製造和消費消息的特性。
Transactions:支持編程和聲明性的事務管理,必須實現特定的接口,並對全部的POJO試用。
Web:提供基礎的面向web的集成特性。
Web-Servlet:包含 model-view-Controller 的實現。
Web-Struts:提供對Struts的支支持
AOP:提供一個符合AOP聯盟標準的面向切面編程的實現。
Aspects:提供多 TspectJ的集成支持
Test:測試組件