查看原文
其他

如何在 IDEA 中 Debug Spring 源码?

匠心零度 2021-12-16

点击上方匠心零度,选择“设为星标

做积极的人,而不是积极废人

说明

想深入学习下 spring,了解下 spring 生命周期的一些细节,学习下一些中间件是怎么整合到 spring 里面的,如果自己写的中间件要怎么整合到 spring 中呢?从而让其他同学使用的时候非常方便;

看了文档、书、博客、专栏之后想读读源码,顺便读源码的时候做点注释,或者修改点代码啥的,所以需要搭建一个环境;

说实话,很多人估计想搭建个 spring 的源码环境,但是 spring 的这个源码环境还是稍微有点复杂的,机缘巧合,之前有朋友(@上杰)研究了一个星期,并且最后把环境搞好了,还顺便给我把环境也搞了下,大概几分钟操作就行,其他就让电脑在那边下载就行了;

之前也有好几个朋友问我,他也想搭建个 spring 环境,今天就抽空整理下,希望对你有帮助;

效果

最后环境搭建成功效果如下:

可以自己调试源码,修改代码,添加相关注释了;

ps:如果你想搭建 spring-boot 的源码环境,比 spring 环境简单,clone 源码之后,啥不用操作等编译即可,效果如下:

准备 spring 源码

spring GitHub 地址:https://github.com/spring-projects/spring-framework.git

直接 clone 也可以,你也可以 fork 到自己仓库之后再 clone ;

spring 给出的步骤

第三步先注意了,需要给你的 idea 调整下 jvm 参数;其他的按照做可能还有点问题,我来把之前朋友研究一周并且可行的操作步骤列下;

环境搭建步骤

  1. 提前编译操作(通过 spring 给出的 一步骤可以发现)

    ./gradlew :spring-oxm:compileTestJava
    ./gradlew :spring-core:compileTestJava
  2. 需要注释掉 gradle/docs.gradle 一段内容

  1. aspectJ 特别设置下,在 spring 文档中 建议排除掉,但是有时候我们需要使用,所以这里排除

  1. 编译(此过程时间较长,我电脑编译了 一个多小时……)

  1. 自己建立一个模块

  1. 开始调试、添加注释等

    表示环境成功了;

自己源码添加相关注释;

总结

还好有朋友之前研究过,这样我们不必在环境搭建上浪费太多时间,环境搭建好了之后,就可以不断的调试查看源码执行过程了,本文也主要是分享下这个 spring 源码环境的搭建过程,如果你之前搭建环境没有成功,希望这次对你有帮助;

END


如果读完觉得有收获的话,欢迎点【好看】,关注【匠心零度】,查阅更多精彩历史!!!

让我“好看” 

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存