spring如何解决循环依赖问题
三级缓存、提前暴露对象、AOP
先总说
循环依赖是怎么回事?
A里有个b属性,B里有个a属性,相互依赖的情况
分说
先说bean的创建过程
初始化,实例化(填充属性)
为什么需要三级缓存缓存?
三级缓存的value类型是ObjectFactory是一个函数式接口(往一级放完后,立即把二级删掉,二级放完后立即把三级删掉)。
三个级别缓存的放置时间和删除时间
BeanFactory和FactoryBean有什么区别
都是用来创建bean对象的,只是一个复杂,一个简单创建。创建完最终都会将对象交给spring容器管理。