Spring 循环依赖
2022-12-12 20:09:19 0 举报
技术学习
作者其他创作
大纲/内容
提前暴露引用-打破循环
生成AOP代理对象
加入单例池
否
singletonFactories 三级缓存
找不到
检查是否正在创建
实例化原始对象
三级缓存获取
初始化前,后
是否AOP
填充属性-依赖注入
是
标记为正在创建
依赖B
三级缓存,缓存的是一段逻辑代码,主要检查对象是否需要AOP,同时提前生成AOP对象。对于不需要的AOP的对象返回原始对象。原始对象在构建A时,已经传入三级缓存。
返回代理对象
去单例池找A
依赖A
创建B
singletonObjects 一级缓存
创建A
返回原始对象
去单例池找B
earlySingletonObjects二级缓存
singletonObjects
去二级缓存中找
收藏
0 条评论
回复 删除
下一页