Spring循环依赖
2023-02-14 22:12:24 0 举报
Spring循环依赖
作者其他创作
大纲/内容
initializeBean(A);
清空二三级缓存
doGetBean(B);
A创建代理步骤被阻止了
return B
return A
Mapspan class=\"token punctuation\" style=\
创建B流程
doGetBean(A);
return 代理A
getBean(A);
getSingleton(A,true)
initializeBean(B);
三级缓存中放入A
getSingleton(A,false)
populateBean(A);
调用 getEarlyBeanReference(A)
populateBean(B);
getSingleton(B,true)
createBeanInstance(B);
return 代理 B
检查一二三级缓存是否存在
会把A放到二级缓存
A放到一级缓存
创建A流程
createBean(B);
addSingletonFactory(Aspan class=\"token punctuation\
A对象放进去
createBean(A);
检查一二三级缓存是否存在三级缓存中肯定有
从二级缓存中获得代理A
getBean(B);
三级缓存中放入B
B放到一级缓存
addSingletonFactory(span class=\"token punctuation\
createBeanInstance(A);
收藏
0 条评论
下一页