您当前的位置: 首页 >  spring

Spring如何处理循环依赖问题

星夜孤帆 发布时间:2021-09-16 00:11:55 ,浏览量:5

循环依赖:多个对象之间存在循环的引用关系,在初始化过程当中,就会出现"先有蛋还是先有鸡"的问题。

解决方法:

一种是 使用@Lazy注解,另一种是使用三级缓存。 

@Lazy注解:解决构造方法造成的循环依赖问题。

一级缓存:缓存最终的单例池对象

private final Map singletonObjects = new ConcurrentHashMap(256);

二级缓存:缓存初始化的对象

private final Map earlySingletonObjects = new HashMap(16);

三级缓存:缓存对象的ObjectFactory

private final Map            
关注
打赏
1688896170
查看更多评论
0.0679s