Spring 源碼深度解析筆記 - Spring 模塊劃分

####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組件進行測試。編程

相關文章
相關標籤/搜索