啰嗦几句
我为什么要写这个专栏?主要是一下几点:
- 记录源码学习过程。
- 深入学习和理解spirng的核心。
- 学习系统设计和代码优化。
- 提高排查问题能力和编码能力。
- 在我们这条道路上,如果想走得更远,就必须做这件事,进而去学习其他的框架。
学习准备
- 找一个跑得起来的的spring源码项目。
- 准备画图工具,推荐 ProcessOn、draw.io。
- 笔记软件,这里推荐语雀、当然也可以直接写在掘金博客上。
学习方法
- 确定学习的核心思想:Spirng对象(bean)的生命周期流程。
- 打断点调试。
- 抓主要逻辑,spirng源码体系过于复杂,应该抓住主要的流程,直接关注接口输出的结果,前期过于深入不便理解,学习难度太大。就要好比我们常说的例子,怎么把大象放入冰箱,其实就是三步,一打开冰箱,二把大象放进去,三关上。这里直接关注每一个步骤直接导致的结果。至于怎么打开冰箱,左手开还是右手开?或者是用脚开?大象要不要切块?切多少块,或者是剁碎,冰箱怎么关?......
- 先主后次,接上面的步骤。主要流程清楚了,就可以深入剖析接口了。
- 一定要画流程图。
- 借助Chat-gpt理解。
- 一口吃不成胖子,得多重复。