我为什么要去读源码
其实不管是 Spring 还是 JDK 的源码,如果我们想要称为更高阶的开发者,阅读源码是必经阶段,第一可以提高自己的代码能力,因为个人觉得写好代码的最好方式就是看别人怎么写代码并学习,第二是提升自己后找到更好的工作,如果我们去看大厂的招聘要求基本都是要精通 Spring,实际上我们可能没办法做到精通,但至少可以确定自己的方向。
另外就是 Spring 在企业开发中基本上已经撑起了半边天,正如Spring 官网所说Spring makes Javasimple
。
我适合去读源码吗
对于个问题,我觉得我应该有发言权,有看过我文章的同学应该都知道,我之前更过一部分JDK相关源码的文章,主要是 JUC 相关的,而且我是断层更新的,主要原因就是因为我看了 2 遍,第 1 遍去看的时候是处于离职状态,为了找工作所以去看的,但处于一个离职的场景和刚毕业 1 年,又是非科班,看起来相当吃力,本身自己就没写过多少代码,所以看别人的就更看不懂了。因此,对我来说,我可以尝试去看源码,是因为我给自己定义了以下的要求,并且可以达到:
-
工作经验
我是 19 年毕业,至今 3 年的工作经验,所涉及的项目都是基于 Spring 和 SpringBoot 开发,所以你应该知道什么是 Spring 并且有使用过相关的组件。
-
代码量
对于学生而言,实际代码量可能相对较少,因此我并不觉得需要在学生阶段来阅读 Spring 源码,因为他们可以通过校招进入自己向往的企业,我觉得现在的大学生都非常厉害,所以你能去读源码并且也是有时间的,真的是非常好的一件事。对比我那个时候,我还在网吧玩游戏呢。那么对于已经毕业的怎么提高代码量呢?
第一是公司业务,不要瞧不起CRUD,无论简单还是复杂的业务最后都是CRUD,关键点在于怎么写好CRUD。
第二是开源项目,个人非常喜欢逛 github 和码云,一般碰到感兴趣的项目会拉下来参考学习,看看别人怎么设计代码的结构以及如何优雅的写出代码。
-
心态
心态是非常重要的,如果你连心都静不下来,看几眼就觉得好难,觉得看不下去了,这样白白浪费时间。比如我刚工作一年的时候,满心想的就是到点下班,晚上搞几把游戏等等之类的。当然并不是说要把全部精力投入进来,就连我现在放假还是照样玩游戏,它不香吗,哈哈哈。我的意思如果你能静下来,你还得有目标,并不是单纯看看就完事。
-
目标
我不知道你们有没有听过这样一句话:但凡家里有钱,干啥都不干开发。确实,我觉得没毛病,但实际也不缺乏真感兴趣的人,对我而言,我想深入的学习提高自己,进入自己理想的公司,证明自己,就这么简单。
通过什么方式去读源码
最好的方式就是跟着官方文档,但官方文档都是英文,懂的都懂,所以一般可能都是通过去看书或者博客或者培训课程,我没办法说那种方式好,因为对于上班族而言,本来上班就够累还要去看书,动都不想动的。
我的方式是看视频,看别人的讲解来吸收并笔记下来,同时通过百度查找自己需要了解的问题。因为你说你去看源码,你根本不知道如何下手,从哪里看?这都是问题,所以需要去找适合自己的方式。
Spring 源码编译
说了这么多,首先我们先把 Spring 源码拉下来再说,