手写Spring循环依赖流程图
2021-10-21 14:53:24 0 举报
手写Spring循环依赖流程图
作者其他创作
大纲/内容
getBean B
一级缓存中没有,但是又有创建标识,说明就是循环依赖
标记 A 正在创建
getBean A
getBean A
循环调用
instantiateBean创建A,且触发AOP逻辑,将A放到三级缓存中
从三级缓存中拿出来A,创建出来的A重新放入到二级缓存中
标记 B 正在创建
A初始化完成,A放入一级缓存,删除正在创建的标记
doLoadInstance
A end
A: getSingleton
一级缓存中没有,且没有创建标识,直接返回null
B: getSingleton
B初始化完成,B放入一级缓存,删除正在创建的标记
populateBean 依赖注入B
执行依赖注入 A
B end
instantiateBean创建B,且触发AOP逻辑,将B放到三级缓存中
0 条评论
下一页