该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读
Spring 版本:5.2.4.RELEASE
因为
spring-mvc项目,是spring-framework的子项目,所以需要拉取spring-framework整个工程,包含 Spring 所有的子项目,本系列文档只分析 MVC 相关模块
依赖工具
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 项目比较大,从仓库中拉取代码的时间会比较长,请耐心等待(也可以直接下载 ZIP 包,解压后执行下述命令再导入 IDEA 中)
打开 IDEA Terminal ,输入如下命令,预编译 spring-oxm 项目:
./gradlew :spring-oxm:compileTestJava在拉取项目的过程中很大的可能会遇到各种问题,别慌,依次解决即可
spring-framework 项目下,一共有四个和 web 相关的项目,大体关系如下:

可以看到 spring-webmvc 不是一个单独的项目,他有依赖的 spring-web 父项目,也有两个 spring-webflux 和 spring-websocket 兄弟项目
关于本次的 Spring MVC 源码分析,仅分享 spring-webmvc 部分,如果对另外两个 webflux 和 websocket 项目感兴趣,可以自己 Google,因为笔者对它们还没太多的接触
代码统计
通过 IDEA Statistic 插件,统计了 spring-webmvc 项目的代码量,如下图所示:code-statistic

可以看到总的 Java 代码行数在 27763 行,Spring 的注释行有点多,加上笔者添加的相关注释以及其他空行等,所以总的行数会相对比较多,Java 代码量还是有点多😢
本系列文档不会分析spring-webmvc所有的代码,加上还需要分析 spring-web 中的相关代码,所以挑选其中较为核心的部分进行分析,相对来说没有那么复杂
关于 Spring 中的注释率达到了 40% 左右,是非常值得学习的😈,不知道你有没有遇到过前人留给你的坑,而且还是没有任何注释的代码,是不是很头疼,所以平时一定得有写注释的习惯,文明你我他,做一个"品德兼优"的程序员,哈哈~
原文转载:http://www.shaoqun.com/a/498731.html
大森林:https://www.ikjzd.com/w/2268
taofenba:https://www.ikjzd.com/w/1725
该系列文档是本人在学习SpringMVC的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释SpringMVC源码分析GitHub地址进行阅读Spring版本:5.2.4.RELEASE因为spring-mvc项目,是spring-framework的子项目,所以需要拉取spring-framework整个工程,包含Spring所有的子项目,本系列文档只分析MVC相关模块依赖工具Grad
大森林:大森林
haofang:haofang
FBA禁止发货?!凛冬已至的黑色星期二?:FBA禁止发货?!凛冬已至的黑色星期二?
琼中到屯昌梦幻香山芳香文化园多少公里?梦幻香山芳香文化园自:琼中到屯昌梦幻香山芳香文化园多少公里?梦幻香山芳香文化园自
在线旅游竞争呈微笑曲线 :在线旅游竞争呈微笑曲线
No comments:
Post a Comment