精尽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% 左右,是很是值得学习的😈,不知道你有没有遇到过前人留给你的坑,并且仍是没有任何注释的代码,是否是很头疼,因此平时必定得有写注释的习惯,文明你我他,作一个“品德兼优”的程序员,哈哈~

相关文章
相关标签/搜索