spring 循环依赖
2022-08-30 22:45:29 9 举报
spring 循环依赖
作者其他创作
大纲/内容
population()
判断该实例是否是单例,是否正在创建中,是否允许提前暴露
getBean()
getSingleton(beanName)
beforeSingletonCreation()
doGetBean()
创建Class B
creatBean()
getObjectForBeanInstance
结束
public Class A{@Autowiredprivate A a}
addSingletonFactory()
createBeanInstance()
创建Class A
doCreatBean()
public Class B{@Autowiredprivate A a}
afterSingletonCreation
public Class A{@Autowiredprivate B b}
此时,根据beanNameA 先去一级缓存一里面获取,如果没有,再去二级缓存里面或者,如果没有,再去三级缓存里面获取。此时三级缓存里面有一个beanFactoryA,此时会调用beanFactory.getObject()方案,生成一个A对象,放入二级缓存里面,同时会将三级缓存里面的beanFactoryA删掉。
收藏
0 条评论
下一页