IDEA调试并运行Spring源码
引言
今天是2022.11.09,本人跟着图灵学院学习到了Spring源码部分。想要成为一名优秀的开发人员,不是光光看看“八股文”,背背面试题就好的。是要去深入了解框架源码的底层是如何实现的?用了什么设计模式?为什么要使用这种设计模式?有什么好处?
当然,在此之前,去Spring官网下载源码到本地,调试源码,把它运行起来是第一步!本人之前在网络上看了很多教程,按着一步一步去做,但是总是报一些奇奇怪怪的错误!
现在,我们用图灵提供的修改过的Spring源码来演示!
Spring源码地址
Spring带注释源码地址https://gitee.com/Harmony_TL/spring-source-code
gradle下载地址
链接:https://pan.baidu.com/s/1c7UypvWJXTb6mZh4885PbQ?pwd=wg5i
提取码:wg5i
--来自百度网盘超级会员V4的分享
在IDEA中下载Spring源码
(1)打开IDEA,在里面导入git项目
按找文章最上面给的URL地址,进入我的git仓库(这份带注释的Spring源码都是图灵的周瑜老师提供的,这里只是怕万一他的仓库关闭了,clone不了了,所以将其导到我自己的仓库来)
(2)设置导入的本地路径,点击确认后,项目就会开始自动导入!
git@gitee.com:Harmony_TL/spring-source-code.git
(3)阻止Spring的gradle自动构建
项目就会开始自动导入,但是,我们这里要“阻止”它!!!
因为Spring项目中用到了gradle,从网络上自动下载90%会出问题!所以我们在这里点击“停止”
(4)下载Gradle
链接:https://pan.baidu.com/s/1c7UypvWJXTb6mZh4885PbQ?pwd=wg5i
提取码:wg5i
--来自百度网盘超级会员V4的分享
直接下载解压即可!
(5)修改IDEA的gradle配置
目录选择刚刚解压的目录
改完之后点击Apply,再点击OK,会自动触发gradle的重新编译。
(6)如果没有触发,点击下图“重新加载所有Gradle项目”
(7)运行这里的测试文件
如果可以出现图示效果,说明导入成功,就可以开始自己看Spring源码啦!但是一般是会出现下面“问题一”中提到的错误!
可能出现的问题!!!
问题1(我遇到了)
第一次运行可能会比较慢,在运行过程也可能会出现问题,比如
重新build一下就好了!
再次执行Test类中的main方法,一般就运行成功了
问题2
如果出现了
报错的CoroutinesUtils是一个kotlin中的类
解决办法
点击File -> Project Structure -> Libraries -> “+” -> Java,然后选择spring-framework/spring-core/kotlin-coroutines/build/libs/kotlin-coroutines-5.2.4.BUILD-SNAPSHOT.jar,在弹出的对话框中选择spring-core.main,在重新运行Test类中的main方法即可,注意我图中是报错的模块spring-core,所以操作的是spring-core.main,如果是其他模块报类似的错,就做类似的操作。