寫作初衷
2020-5-15號,在cdsn上看到一些關於Spring架構圖的模塊劃分,6個、7個模塊劃分的都有。感到很模糊到底怎麼劃分,最後查看官方文檔發現官方文檔劃分爲6個模塊【如下圖】。
Spring架構圖
❝Ps:這個圖來源於Spring4的Doc,我在Spring5以後的官方Doc中沒有找到這個圖,而且Spring5的文檔的排版跟Spring4的排版有很大的區別。
❞
🚎有在Spring5的Doc中找到這個圖的可以留言告訴我🍻,謝謝!😊
模塊劃分目錄
❝以上是官方文檔給的模塊劃分的講解,我接下來會按照6個模塊進行解讀。
❞
「核心容器 Core Container」
「數據訪問與集成 Data Access/Integration」
「Web組件」
「切面編程和Instrumentation」
「Messaging 通信報文」
「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