spring 循环依赖图解
2021-06-11 16:42:38 6 举报
spring 循环依赖图解
作者其他创作
大纲/内容
添加三级缓存
getSingleton(beanA....)
initializeBean(beanA ...)
最后完成beanA的初始化
populateBean(beanA ...)
getBean(beanA...)
initializeBean(beanB ...)
getSingleton(beanB,singletonFactory) ==null
createBeanInstance(beanB...)
beanB获取beanA的早期引用
由于第一步添加了缓存,所以这里不为空,并将三级缓存移动到二级
doGetBean(beanB)
doGetBean(beanA)
getSingleton(beanA) ==null
doCreateBean(beanA....)
getBean(beanA)
尝试从各级缓存中的获取bean
getObjectForBeanInstance(...)
getSingleton(beanB) ==null
属性注入
doCreateBean(beanB...)
返回bean的原始对象
先创建beanA
初始化bean
getSingleton(beanA,singletonFactory) ==null
getBean(beanB)
populateBean(beanB ...)
创建beanB
0 条评论
回复 删除
下一页