背景知识
(1) spring(3) - springboot启动过程
(2) spring(4) - spring Bean创建并注册到容器
2....Bean创建
通过 背景知识,我们知道,spring在创建Bean的时候,分三步,先创建bean,然后注册到容器中,之后进行属性装配,在进行初始化
2.1 AbstractAutowireCapableBeanFactory...点击其中一个属性,我们看下属性的声明 ,发现这几个属性都属于父类 DefaultSingletonBeanRegistry ,那就明白啦 , 这个类就是处理spring Bean 容器处理缓存的类,如下...,其职责就是包装一个bean,有回调逻辑,所以它的作用非常清晰,并且只能处于第三层。...3 应用三层缓存对循环依赖的处理举例
如果 A,B 两个类互相依赖,且需要实例化,当只有一层缓存 singletonObjects 的时候,A 实例化调用B,B实例化调用A,就无法结束了;
此时加一层缓存