第一次想细致的阅读Spring源码,大约是在2017年的12月27号,到现在也已经有18天了,感觉这十八天里,有很多收获,或许是时候有一些内容输出了。
之所以强调要有输出,可能这也是我们之前学习的一些要求,如果没有输出的话,可能过一段时间就忘记了。有输出的话,则可以随时去看一下。
首先说一下为什么要读Spring的源码,我想大多数人或许会有这么几个出发点:
第一个,想看一下ioc和aop是怎么实现的,学习一下,让自己在平时的编程过程中有一个更深的理解。如果是出于这个目的,那么并不用去太细致的阅读源码,只要梳理出核心架构就可以了。有这类想法的朋友们可能只对于Spring的源码感兴趣,对其他的源码可能就没那么感兴趣了。
第二个,想学习一下这么大的项目是怎么构建的。有这类想法的朋友可能会对其他一些较大规模的项目比较感兴趣,而且会更加注重细节一些吧。其实我算是这一种,其实要是简单的实现ioc和aop,那么十几个类文件就可以搞定了,但是Spring做的这么复杂,就是它这么做的目的是什么,优势又在哪呢?这其实是我想探寻的一个答案。
我在之后会不断的给出源码分析,可能是对源码的注解,也可能是自己的一点体会,也可能是一个uml类图,希望感兴趣的朋友们可以关注一下。
最后也感谢最近一段时间公司的业务没有那么忙,可以抽出时间来静心的学习一下,感觉这个时间还是比较难得的。