死磕Spring之IoC篇 - 調試環境的搭建

該系列文章是本人在學習 Spring 的過程當中總結下來的,裏面涉及到相關源碼,可能對讀者不太友好,請結合個人源碼註釋 Spring 源碼分析 GitHub 地址 進行閱讀html

Spring 版本:5.1.14.RELEASEgit

開始閱讀這一系列文章以前,建議先查看《深刻了解 Spring IoC(面試題)》這一篇文章github

依賴工具面試

  • Gradle 6.4spring

  • Gitshell

  • JDK 1.8+express

  • IntelliJ IDEA 2020.1.1eclipse

筆者目前使用的是 Windows 系統,若是使用的是系統版本是 MAC OS 或者其餘 IDEA 版本,可能會遇到相關問題,需自行 Google 處理ide

可參考 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-corespring-beansspring-context 三個模塊的代碼量,以下圖所示:code-statistic

能夠看到總的 Java 代碼行數在 100580 行,Spring 的註釋行有點多,加上筆者添加的相關注釋以及其餘空行等,因此總的行數會相對比較多,感受 Java 代碼量具多,不過咱們看核心內容就行了😄


本系列文章是對 Spring IoC 進行分析,主要查看 spring-corespring-beansspring-context 三個模塊。固然,這三個模塊涉及到的東西也很是多,我不會對 Spring IoC 涉及到的全部內容進行分析,例如資源加載、國際化、數據綁定、類型轉換等基礎功能不會作過多的分析,瞭解便可。

本系列文章分享的內容主要圍繞 Spring Bean 的生命週期和 Spring 應用上下文的生命週期展開,覆蓋到 Spring IoC 大部份內容,相信這些文章會讓你對 Spring 有一個更深的理解。

相關文章
相關標籤/搜索