spring循环依赖
2021-06-19 23:05:58 0 举报
spring循环依赖
作者其他创作
大纲/内容
initializeBean
addSingletonFactory
populateBean
getBean
无返回值时
实例化createBeanInstance
StudentA
是
Spring利用递归方式实现Bean的实例化过程,单例下利用singletonsCurrentlyInCreation判断是否是循环依赖,多例下利用prototypesCurrentlyInCreation判断,开始创建bean会往集合add值,结束时则remove掉,这样的规则,导致了多例下无法解决循环依赖,单例下无法解决构造参数注入的循环依赖
否
二级缓存this.earlySingletonObjects.get(beanName);
有返回值时
getSingleton(beanName)
三级缓存this.singletonFactories.get(beanName);
是否存在
doCreateBean
StudentB
一级缓存this.singletonObjects.get(beanName);
0 条评论
下一页