spring framework源码maven构建版及一点经验总结

几年前想学习spring源码,每次打开书都是构建源码开始,结果每次都是卡在源码构建环境上了。
由于spring源码使用gradle构建并且还依赖了一些其他环境的安装,所以想要顺利完成环境搭建并完整构建成功还是稍微有点麻烦。
折腾几次后就放弃强迫症了,索性下载了原版源码后删减了一些模块并且把构建工具换为了我日常用的更多的maven,弄了一个简化版源码。
前段时间把之前整理的源码上传到了github上了,免得在电脑上弄丢了,
地址:https://github.com/liqipeng/spring-framework-4.3.x

摸索挺长时间后,我才渐渐明白学习spring源码我们应该抓住重点部分,一开始没必要执着于spring源码的构建。因为spring源码本身就非常庞大,模块也比较多,个人认为能把几个常用的模块的重点部分掌握已经不易。
并且阅读spring源码根本没必要去构建它,借助于IDE工具的依赖包源码下载功能即可辅助源码阅读了。
1、转到相关类的定义

2、右上角点击下载源码

3、或者也可以在maven工具栏右键直接下载模块的全部依赖包的源码

另外调试源码时,可以在一些关键代码出打上断点,然后在命中断点后利用调试工具的调用栈来梳理复杂代码的调用过程:

这个Copy Stack的功能也很有用:

关于阅读源码,我觉得问题驱动挺重要的,我好像对于spring印象深一点的部分都是基于问题驱动去探索出来的。当然,问题驱动与看书上的讲解也是相辅相成的,结合起来就不会像单纯啃书那么枯燥切容易忘记了。
所以看源码前,最好是梳理一下相关的问题,这样才能更有针对性。不管是学习spring源码还是其他东西,带着问题去学习真的很重要,这样目的性更强,效果更好。

posted @ 2021-05-30 12:31  liqipeng  阅读(1811)  评论(1编辑  收藏  举报