spring三层缓存解决循环依赖
2021-05-20 16:55:19 6 举报
多种方式产生的循环依赖的场景原理,以及处理方式
作者其他创作
大纲/内容
DemoB添加到第一级缓存
依赖注入
DemoA
从三级缓存中获取到DemoB实例并将DemoB添加到二级缓存中
提前暴露,添加到第三级缓存
DemoA代理对象初始化完成
DemoB依赖注入成功
从一级缓存中获取不到实例
DemoB
spring是怎么解决循环依赖的
创建实例DemoA
DemoD代理对象初始化完成
DemoC注入成功
创建实例DemoB
DemoC添加到第一级缓存
第二级缓存为空
不等
从三级缓存中获取到DemoA实例并将DemoA添加到二级缓存中
DemoD依赖注入成功
DemoD
DemoB初始化完成
代理对象循环依赖过程2
DemoC
DemoA依赖注入成功
第二级缓存 和 原始对象 是否相等
DemoC初始化完成
从三级缓存中获取到实例A
抛异常
初始化完成
创建实例DemoC
不使用二级缓存的场景
代理对象循环依赖过程
创建实例DemoD
DemoA初始化完成
DemoA添加到第一级缓存
构造器注入方式的循环依赖
收藏
收藏
0 条评论
回复 删除
下一页