該系列文章是本人在學習 Spring 的程序中總結下來的,里面涉及到相關原始碼,可能對讀者不太友好,請結合我的原始碼注釋 Spring 原始碼分析 GitHub 地址 進行閱讀
Spring 版本:5.1.14.RELEASE
開始閱讀這一系列文章之前,建議先查看《深入了解 Spring IoC(面試題)》這一篇文章
依賴工具
-
Gradle 6.4
-
Git
-
JDK 1.8+
-
IntelliJ IDEA 2020.1.1
筆者目前使用的是 Windows 系統,如果使用的是系統版本是 MAC OS 或者其他 IDEA 版本,可能會遇到相關問題,需自行 Google 處理
可參考 Spring 官方提供的 import-into-idea.md 或者 import-into-eclipse.md 進行匯入專案
原始碼拉取
從 Spring 的 Git 倉庫 Fork 專案到自己的 Git 倉庫,方便我們在閱讀原始碼的程序中,可添加相應的注釋后提交代碼,也可以直接拉取我的 Spring Framework 原始碼分析 GitHub 地址 閱讀
由于 Spring 專案比較大,從倉庫中拉取代碼的時間會比較長,因為 Build 程序需要下載非常多的依賴,請耐心等待(也可以直接下載 ZIP 包,解壓后執行下述命令再匯入 IDEA 中)
打開 IDEA Terminal ,輸入如下命令,預編譯 spring-oxm 專案:
gradlew :spring-oxm:compileTestJava
在拉取專案的程序中很大的可能會遇到各種問題,別慌,依次解決即可
spring-framework 專案下有很多子模塊,核心模塊:
- spring-core:Spring 基礎 API 模塊,如資源管理、泛型處理
- spring-beans:Spring Bean 相關,如依賴查找、依賴注入
- spring-context:事件驅動、注解驅動、模塊驅動等
- spring-aop:Spring AOP 處理,如動態代理、AOP 位元組碼提升
- spring-expression:Sping 運算式語言模塊
這種面向模塊開發方式,根據不同的功能進行劃分,根據需求引入對應的模塊即可,對于開發人員比較友好
代碼統計
通過 IDEA Statistic 插件,統計了spring-core、spring-beans 和 spring-context 三個模塊的代碼量,如下圖所示:code-statistic
可以看到總的 Java 代碼行數在 100580 行,Spring 的注釋行有點多,加上筆者添加的相關注釋以及其他空行等,所以總的行數會相對比較多,感覺 Java 代碼量具多,不過我們看核心內容就好了??
本系列文章是對 Spring IoC 進行分析,主要查看 spring-core、spring-beans 和 spring-context 三個模塊,當然,這三個模塊涉及到的東西也非常多,我不會對 Spring IoC 涉及到的所有內容進行分析,例如資源加載、國際化、資料系結、型別轉換等基礎功能不會做過多的分析,了解即可,
本系列文章分享的內容主要圍繞 Spring Bean 的生命周期和 Spring 應用背景關系的生命周期展開,覆寫到 Spring IoC 大部分內容,相信這些文章會讓你對 Spring 有一個更深的理解,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/262348.html
標籤:Java
上一篇:now-go時間百寶箱
下一篇:如何優雅地處理重復(并發)請求?
