前段时间一直忙于其他事情,没空下来继续研究Spring源码。最近有空又重拾Spring源码,打算继续深入研究。
之前下载好了Spring源码之后,并成功导入到IDEA中了,可是光导入源码但是没有调用Spring源码就显得特别的菜了,且不利于深入学习Spring源码。本人花了点时间来尝试使用IDEA程序调用Spring源码,遂写下这篇文章来记录下实现过程。
在系列文章第一篇中,已经成功下载好了Spring源码并使用Gradle导入源码,具体步骤这里不再赘述。
如图操作: 启动test()方法,尝试调用Spring源码。结果会发现报错了
CoroutinesUtils cannot be resolved,没有CoroutinesUtils类
如下图位置: (由于本人已经处理了这个错误,所以上图没有报出错误)
查了一下错误,发现是因为CoroutinesUtils是kotlin的一个工具类,Spring源码包读取不到。
使用如下方法即可解决该工具类读不到的问题:
- 找到spring-framework-master\spring-core-coroutines\build\libs 下面的spring-core-coroutines-5.2.0.BUILD-SNAPSHOT.jar包
- 选中改jar包右键——> Add as Library,将jar包导入依赖
- 选中工具栏Build——> Rebuild Project 等Spring源码重新构建之后,就可以使用本地程序调用Spring源码了。
可以看到,在源码AbstractApplicationContext.java位置,本人添加了中文注释,一会儿使用Debug模式调用测试方法,看是否能进入该源码类的方法里,能进入则证明调用Spring源码成功。