spring如何解决循环依赖
2024-10-28 15:03:26 0 举报
spring如何解决循环依赖
作者其他创作
大纲/内容
这里有一个钩子函数
A加入三级缓存
第一次返回null
会调用钩子函数
createBean返回B的实例
A依赖BB依赖A
newSingleton = true;
singletonFactory.getObject()
发现依赖B
A初始化
B加入单例池二三级缓存删除B
B初始化
钩子函数
A加入单例池从二三级缓存删除
返回A实例
接着往下执行
B实例化
发现依赖A
B加入三级缓存
三级缓存得到早期A实例加入到二级缓存
A实例化
singletonFactory.getObject()接着这个代码往下执行
createBeanInstance
B属性填充
getBean(A)
属性填充
earlySingletonObjects 这个是二级缓存
getBean(B)
此时没有B实例
0 条评论
下一页