日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring源码构建以及模块划分和依赖

發布時間:2024/4/11 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring源码构建以及模块划分和依赖 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

Spring源碼構建

環境環境

安裝Gradle

編譯源碼

spring中的依賴關系

spring中的版本號規則

語義化版本命名通行規則

Spring版本命名規則


Spring源碼構建

環境環境

JDK1.8
IDEA
Gradle

Spring源碼Github下載地址:
https://github.com/spring-projects/spring-framework/archive/v5.0.2.RELEASE.zip

由于Spirng5以后都是采用Gradle來編譯,所以構建源碼前需要先安裝Gradle環境
Gradle:使用的是源碼的build.gradle里的版本 4.3.1,下載鏈接:https://gradle.org/next-steps/?version=4.3.1&format=all

?

安裝Gradle

下載后解壓并配置環境變量即可

編譯源碼

1.切到 spring-framework-5.0.2.RELEASE 目錄,運行gradlew.bat

看到下圖就表示編譯成功了

2.導入到IDEA

構建成功后就可以查看類圖了

?

?

spring中的依賴關系

spring的結構圖如下:

分為五個大模塊:

核心容器
spring core,beans:
包含DI和IOC,BeanFactory 容器實例化后并不會自動實例化Bean,只有當Bean 被使用時 BeanFactory 容器才會對該 Bean 進行實例化與依賴關系的裝配。
spring-context:?擴展了BeanFactory,添加了Bean生命周期控制等,ApplicationContext是該模塊的核心接口,她的超類是BeanFactory。與BeanFactory 不同的是ApplicationContext容器實例化后會自動對所有的單實例Bean進行實例化與依賴關系的裝配
spring-context-support:?對Spring IOC 容器的擴展支持。
spring-context-indexer: Spring的類管理組件和Classpath掃描
spring-expression: 統一表達式語言(EL)的擴展模塊

AOP和設備支持
spring-aop:?
Spring 的另一個核心模塊,是AOP 主要的實現模塊
spring-aspects:?集成自AspectJ框架,主要是為Spring AOP提供多種AOP 實現方法。
spring-instrument:?基于JAVA SE中的"java.lang.instrument"設計的,應該算是AOP的一個支援模塊

數據訪問與集成
spring-jdbc:
Spring 提供的JDBC抽象框架的主要實現模塊,用于簡化SpringJDBC操作
spring-tx: Spring JDBC事務控制實現模塊
spring-orm:?ORM 框架支持模塊, 集成 Hibernate, Java Persistence API (JPA)等
spring-oxm:?提供一個抽象層以支撐OXM(Object-to-XML-Mapping)
spring-jms:(JavaMessagingService)能夠發送和接收信息

Web組件
spring-web:
為Spring提供最基礎的Web支持,建立于核心容器之上,通過Servlet或者Listeners 來初始化IOC 容器。
spring-webmvc:?Web-Servlet模塊,實現了Spring MVC的Web應用。
spring-websocket: 主要是與Web客戶端的全雙工通訊的協議。
spring-webflux:?新的非堵塞函數式 Reactive Web 框架,可以用來建立異步的,非阻塞,事件驅動的服務。

通信報文
spring-messaging:?
為Spring 框架集成一些基礎的報文傳送應用。

集成測試
spring-test:
為測試提供支持

依賴圖:

根據maven里的Jar包的依賴關系整理的:比方說spring-context就dependency于這些Jar

spring中的版本號規則

語義化版本命名通行規則

對版本的迭代順序命名做了規范,其版本號的格式為 X.Y.Z(又稱 Major.Minor.Patch),遞增的規則為:

序號格式要求說明
X非負整數表示主版本號(Major),當 API 的兼容性變化時,X 需遞增。
Y非負整數表示次版本號(Minor),當增加功能時(不影響 API 的兼容性),Y 需遞增
Z非負整數?表示修訂號(Patch),當做 Bug 修復時(不影響 API 的兼容性),Z 需遞增。


?

?

?

?

Spring版本命名規則

描述方式 說明 含義
Snapshot 快照版尚不穩定、處于開發中的版本
Release穩定版功能相對穩定,可以對外發行,但有時間限制
GA正式版 代表廣泛可用的穩定版(General Availability)
M里程碑版(M 是 Milestone 的意思)具有一些全新的功能或是具有里程碑意義的版本。
RC終測版Release Candidate(最終測試),即將作為正式版發布。







?

總結

以上是生活随笔為你收集整理的spring源码构建以及模块划分和依赖的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。