精盡Spring MVC源碼分析 - 調式環境搭建

該系列文檔是本人在學習 Spring MVC 的源碼過程當中總結下來的,可能對讀者不太友好,請結合個人源碼註釋 Spring MVC 源碼分析 GitHub 地址 進行閱讀git

Spring 版本:5.2.4.RELEASE程序員

由於 spring-mvc 項目,是 spring-framework子項目,因此須要拉取 spring-framework 整個工程,包含 Spring 全部的子項目,本系列文檔只分析 MVC 相關模塊github

依賴工具web

  • Gradle 6.4spring

  • Gitshell

  • JDK 1.8+spring-mvc

  • IntelliJ IDEA 2020.1.1websocket

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

可參考 Spring 官方提供的 import-into-idea.md 或者 import-into-eclipse.md 進行導入項目eclipse

源碼拉取

Spring 的 Git 倉庫 Fork 項目到本身的 Git 倉庫,方便咱們在閱讀源碼的過程當中,可添加相應的註釋後提交代碼,也能夠直接拉取個人 Spring Framework 源碼分析 GitHub 地址 閱讀

因爲 Spring 項目比較大,從倉庫中拉取代碼的時間會比較長,請耐心等待(也能夠直接下載 ZIP 包,解壓後執行下述命令再導入 IDEA 中)

打開 IDEA Terminal ,輸入以下命令,預編譯 spring-oxm 項目:

./gradlew :spring-oxm:compileTestJava

在拉取項目的過程當中很大的可能會遇到各類問題,別慌,依次解決便可

spring-framework 項目下,一共有四個和 web 相關的項目,大致關係以下:

springmvc-project

能夠看到 spring-webmvc 不是一個單獨的項目,他有依賴的 spring-web 父項目,也有兩個 spring-webfluxspring-websocket 兄弟項目

關於本次的 Spring MVC 源碼分析,僅分享 spring-webmvc 部分,若是對另外兩個 webflux 和 websocket 項目感興趣,能夠本身 Google,由於筆者對它們還沒太多的接觸

代碼統計

經過 IDEA Statistic 插件,統計了 spring-webmvc 項目的代碼量,以下圖所示:code-statistic

code-statistic

能夠看到總的 Java 代碼行數在 27763 行,Spring 的註釋行有點多,加上筆者添加的相關注釋以及其餘空行等,因此總的行數會相對比較多,Java 代碼量仍是有點多😢

本系列文檔不會分析spring-webmvc全部的代碼,加上還須要分析 spring-web 中的相關代碼,因此挑選其中較爲核心的部分進行分析,相對來講沒有那麼複雜

關於 Spring 中的註釋率達到了 40% 左右,是很是值得學習的😈,不知道你有沒有遇到過前人留給你的坑,並且仍是沒有任何註釋的代碼,是否是很頭疼,因此平時必定得有寫註釋的習慣,文明你我他,作一個「品德兼優」的程序員,哈哈~

相關文章
相關標籤/搜索