看完Spring记不住,是我脑子不太好吗?

为什么很多人看完Spring源码记不住,是脑子有问题吗?当然不是!是因为你没有掌握学习源码的技巧。

640.gif

看完源码的我…

以前我学习Spring、Spring boot源码,只能去翻书,去报个线下培训班,或者向其他公司的大牛请教,一个疑问有时候会卡好几天。

但现在不一样,现在学习成本太低了!只要你有台电脑、甚至有个手机就够了,各种公开课、各种免费视频资料,学习成本越来越低,后果就是对程序员的要求越来越高。

以前你只需掌握MQ、IOC AOP、MyBatis、Redis缓存,工作随便找,基本上面试就这么几套。但是现在,你只会这些再出去试试?

[图片上传失败...(image-804645-1612516522457)]

经常会有人问我:“路神,你是怎么去学源码的?”给大家分享一下我的Spring源码学习方法:

1、通读Spring官方文档

学习Spring源码之前,首先要把Spring官方网文档系统的阅读一遍。哪怕你读不懂,也会接触到很多名词,读源码的时候大有帮助。

有人拿自己英语不好当借口,我的英文水平经常被人喷,这个困难要自己克服。

2、如何正确阅读Spring源码

读完源码就忘,是因为你没有理解透彻。

我的建议是:“不要从字面意义上去读源码,通过源码启动方式阅读。”

比如读nacos的源码,要理解作者做这个设计变量的思路、设计代码的原则、作者的想法是怎样的?比如nacos跟Spring、Spring boot、Spring cloud这四个角色分别完成什么样的功能?Spring cloud中Spring-cloud-common这个包有什么用?Spring boot主要完成的功能?Spring又完成什么功能?

那么三者结合在一起就可以看出作者写代码的意图,一定要站在作者的角度,结合全局来看源码。

3、尽情去调试Spring吧源码级的知识一定要自己验证!特别是Spring的扩展点!

在学习过程中,不要怕,尽量多去调试;看一下就去断点调试一下;多去写自己的注释;尽量去把Spring代码改了,把代码给删了!多思考Spring某些地方预留的接口能干嘛?这个地方是不是可以做扩展?MyBatis是如何扩展Spring的?市面上还有哪些主流框架扩展了Spring?边看源码边思考,这样你的记忆会加深很多。

学习Spring源码目的就是为了让我们能够去对Spring做二次开发或者扩展。

实话实说,大多数人学Spring,就是为了去面试。很多人在简历上写“读过Spring源码”,这么写你连电话都接不到!

我们读过Spring源码之后,简历上该怎么写?给大家做个参考:系统的阅读过Spring源码;能够对Spring做二次开发;并且熟知Spring当中的各种扩展点;熟知主流框架对Spring源码的扩展;

这样的简历,面试官看完肯定直呼内行!

[图片上传失败...(image-43946e-1612516522457)]

想系统学习Spring的话,私信我哈。

你可能感兴趣的:(看完Spring记不住,是我脑子不太好吗?)