开篇

68 阅读1分钟

啰嗦几句

我为什么要写这个专栏?主要是一下几点:

  1. 记录源码学习过程。
  2. 深入学习和理解spirng的核心。
  3. 学习系统设计和代码优化。
  4. 提高排查问题能力和编码能力。
  5. 在我们这条道路上,如果想走得更远,就必须做这件事,进而去学习其他的框架。

学习准备

  1. 找一个跑得起来的的spring源码项目。
  2. 准备画图工具,推荐 ProcessOn、draw.io。
  3. 笔记软件,这里推荐语雀、当然也可以直接写在掘金博客上。

学习方法

  1. 确定学习的核心思想:Spirng对象(bean)的生命周期流程
  2. 打断点调试。
  3. 抓主要逻辑,spirng源码体系过于复杂,应该抓住主要的流程,直接关注接口输出的结果,前期过于深入不便理解,学习难度太大。就要好比我们常说的例子,怎么把大象放入冰箱,其实就是三步,一打开冰箱,二把大象放进去,三关上。这里直接关注每一个步骤直接导致的结果。至于怎么打开冰箱,左手开还是右手开?或者是用脚开?大象要不要切块?切多少块,或者是剁碎,冰箱怎么关?......
  4. 先主后次,接上面的步骤。主要流程清楚了,就可以深入剖析接口了。
  5. 一定要画流程图
  6. 借助Chat-gpt理解。
  7. 一口吃不成胖子,得多重复。