前言

在前面我看源码都是直接引入jar包然后进行Debug的,有网友问能不能出个源码编译的文档。没想到,真挺麻烦的,好在能顺利编译,这里记录一下。

环境准备

源码编译

Spring源码包下载好解压,gradle安装成功,就可以打开idea,选择Import Project后,会看到这个界面,重点:

image.png

然后:

image.png

导入后,idea自动帮你编译下载依赖了,耐心等待,查看进度,顺利的话是这个样子:

image.png
然后根据官网提示你要预编译下spring-oxm模块,可以使用命令:
./gradlew :spring-oxm:compileTestJava,或者直接用idea图形界面,可以看到下面编译结果:

image.png

虽然顺利成功了,但是你找个Spring中的单元测试运行可能还是通过不了,如下提示:
image.png

需要继续改下spring-context和spring-context-support模块的配置:

image.png

image.png

这时再运行改成的单元测试,发现可以了,如下:

image.png
再然后你可以在源码中添加自己的测试模块进行更方便的调试,新建一个Module,选择gradle,gradle自动会在配置文件中添加进来,如下图:

image.png

再再然后,你需要在你新建的Module中的配置添加spring-context模块和Junit单元测试,例如我这里的spring-test-bean,如下图:

image.png

编写单元测试,运行成功:

image.png

参考资料

请你相信我所说的都是错的