4.4-Spring源码循环依赖终极讲解

回顾上期内容

new 容器
4.4-Spring源码循环依赖终极讲解_第1张图片
4.4-Spring源码循环依赖终极讲解_第2张图片
new AnnotateBeanDefinitionReader 的时候创建很多创世纪的类,其中有一个ConfigurationPostProcessor是用来解析配置类的,将其注册起来存到Bean定义的Map中【这个类是基于Bean工厂后置处理器的】

4.4-Spring源码循环依赖终极讲解_第3张图片
这一步是将配置类注册到Bean定义的Map当中,这时候Map中配置类和解析配置类的类有了

4.4-Spring源码循环依赖终极讲解_第4张图片
执行**refresh()**方法,里面有十三个方法,执行下面的方法4.4-Spring源码循环依赖终极讲解_第5张图片
进去方法

4.4-Spring源码循环依赖终极讲解_第6张图片
4.4-Spring源码循环依赖终极讲解_第7张图片
拿到所有实现了**BeanDefinitionRegisttryPostProcessor()**的类, 这个时候就会拿到解析配置类的类

4.4-Spring源码循环依赖终极讲解_第8张图片
同时ConfigurationPostProcessor实现了PrtorityOrdered

4.4-Spring源码循环依赖终极讲解_第9张图片
将我们的类添加到CurrentRegistryProcessors【当前处理器集合】当中

4.4-Spring源码循环依赖终极讲解_第10张图片
4.4-Spring源码循环依赖终极讲解_第11张图片
该方法处理代注册的Bean工厂后置处理器

4.4-Spring源码循环依赖终极讲解_第12张图片
4.4-Spring源码循环依赖终极讲解_第13张图片
4.4-Spring源码循环依赖终极讲解_第14张图片
4.4-Spring源码循环依赖终极讲解_第15张图片
拿到所有的Bean定义

4.4-Spring源码循环依赖终极讲解_第16张图片
拿到配置类,拿到就放到configCandidates

循环依赖

4.4-Spring源码循环依赖终极讲解_第17张图片

待、、、、、、

你可能感兴趣的:(Spring,spring,java,后端)