Spring5源碼中的模塊劃分

來源於Spring官網
來源於Spring官網

寫作初衷

2020-5-15號,在cdsn上看到一些關於Spring架構圖的模塊劃分,6個、7個模塊劃分的都有。感到很模糊到底怎麼劃分,最後查看官方文檔發現官方文檔劃分爲6個模塊【如下圖】。


截圖於Spring官網
截圖於Spring官網

Spring架構圖

來源於Spring官網
來源於Spring官網

Ps:這個圖來源於Spring4的Doc,我在Spring5以後的官方Doc中沒有找到這個圖,而且Spring5的文檔的排版跟Spring4的排版有很大的區別。

🚎有在Spring5的Doc中找到這個圖的可以留言告訴我🍻,謝謝!😊

模塊劃分目錄

截圖於Spring官網
截圖於Spring官網

以上是官方文檔給的模塊劃分的講解,我接下來會按照6個模塊進行解讀。


  1. 核心容器 Core Container

  1. 數據訪問與集成 Data Access/Integration

  1. Web組件

  1. 切面編程和Instrumentation

  1. Messaging 通信報文

  1. Test 測試

4. 模塊解讀

4.1 核心容器 Core Container

由spring-core, spring-beans, spring-context, spring-context-support, spring-context-indexer和 spring-expression組成。

各個模塊的介紹

模塊名稱 簡介
spring-core 依賴注入IOC與DI的最基本實現。
spring-beans Bean工廠與Bean的裝配。
spring-context 定義基礎的Spring的Context上下文即IOC容器。
spring-context-support 對Spring IOC容器的擴展支持,以及IOC子容器。
spring-context-indexer Spring的類管理組件和Classpath掃描。
spring-expression Spring表達式語言。

4.2 數據訪問與集成 Data Access/Integration

由spring-jdbc, spring-tx, spring-orm, spring-oxm和 spring-jms組成。

各個模塊的介紹

模塊名稱 簡介
spring-jdbc Spring 提供的JDBC抽象框架的主要實現模塊,
用於簡化Spring JDBC操作。
spring-tx Spring JDBC事務控制實現模塊。
spring-orm 主要集成 Hibernate, Java Persistence API (JPA)
和 Java Data Objects (JDO)。
spring-oxm 將Java對象映射成XML數據,或者將XML數據映射成Java對象。
spring-jms Java Messaging Service能夠發送和接收信息。

4.3 Web組件

由spring-web, spring-webmvc, spring-websocket, 和 spring-webflux組成。

各個模塊的介紹

模塊名稱 簡介
spring-web 提供了最基礎Web支持,主要建立於核心容器之上,
通過Servlet或者Listeners來 初始化IOC容器。
spring-webmvc 實現了Spring MVC(model-view-Controller)的Web應用。
提供了最基礎Web支持,主要建立於核心容器之上,
通過Servlet或者Listeners來初始化IOC容器。
spring-websocket 主要是與Web前端的全雙工通訊的協議。
spring-webflux 一個新的非堵塞函數式 Reactive Web 框架,
可以用來建立異步的,非阻塞,事件驅動的服務。

4.4 切面編程和Instrumentation

由spring-aop, spring-aspects,spring-instrument組成。

各個模塊的介紹

模塊名稱 簡介
spring-aop 面向切面編程的應用模塊,整合Asm,CGLIb、JDKProxy。
spring-aspects 集成AspectJ,AOP應用框架。
spring-instrument 提供類檢測支持和類加載器實現,以在某些應用程序服務器中使用。

4.5 Messaging 通信報文

由spring-messaging組成。

各個模塊的介紹

模塊名稱 簡介
spring-messaging 從Spring4開始新加入的一個模塊,主要職責是爲Spring 框架集成一些基礎的報 文傳送應用。

4.6 Test 測試

由spring-test組成。

各個模塊的介紹

模塊名稱 簡介
spring-test 主要爲測試提供支持的。

5. 官網地址

Spring官網地址:
https://spring.io/
Spring文檔地址:
https://spring.io/projects/spring-framework#learn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章