关于源码解析的文章,我感觉阅读学习的效率并不高。没有脑图来的实在,自顶向下自行学习,能大大增加学习效率。【图解Springboot】系列文章只放干货,不说废话。图片仅供收藏,转载请标明出处,谢谢各位小伙伴!
总结
1、 创建IOC容器时会根据webApplicationType
选择不同的实现类。
2、 IOC容器创建好以后会初始化exceptionReporters
异常报告器用来打印异常。
3、 IOC容器初始化会先后调SpringApplicationRunListeners
的contextPrepared
和contextLoaded
方法,一次在创建和准备ApplicationContext之后,但在加载之前,一次在ApplicationContext已加载但在refreshContext
之前。
4、 BeanDefinitionHolder
用来持有一个BeanDefinition
,BeanDefinition
是对bean
的描述,你也可以理解为BeanDefinition
就是Spring容器中的bean
。
5、 refreshContext
是IOC容器最核心的部分,后面会提到。