直接看源码比较难的原因是代码枯燥不够形象。就像是练习剑法没有心法指导的话容易走火入魔。所以该系列讲解方式主要是指导思想。告诉你逻辑路线,然后让你主动的去探索。而不是以代码来讲代码。那样的话讲多少遍都是记不住的。
第一部分:核心容器部分
讲解bean加载到ioc容器的整个过程。整个过程我分为四个阶段也就是图中的加黑部分;
这里探索路线就是下面的步骤1,2,3,4。看完再看每一步前后又可以通过hook进行监控和干预。也就是大家说的bean生命周期前后
1:读取bean元数据
hook1
2:实例化bean
hook2
3:初始化
hook3
4:完成
然后这四个阶段中间又可以做一些生命周期相关的回调;
比如加载完第一步bean元数据又可以通过BeanFactoryPostProcessor进行bean定义信息修改(图中没画,后面的文章会提一下,用的很少);修改bean定义信息篇
然后实例化和初始化阶段的整个过程中又可以通过BeanPostProcessor勾子对整个过程进行监控或者干预