spring框架中 bean的相互依赖 解决办法

一、什么是spring中 bean(对象)相互依赖(循环依赖)

  spring中若干个bean属性互相注入对方,最终形成闭环。

  

 

 

 二、spring怎么解决 单例 Bean循环依赖?

  答:使用 三级缓存解决

  三级缓存是利用3个map集合

  第一个集合:singletonFactories(三级缓存) : Bean早期引用的工厂集合。

  第二个集合:earlySingletonObjects(二级缓存) :Bean早期(属性没填充完)引用集合,存放不完整对象

  第三个集合:singletonObjects(一级缓存) : 最终完整Bean容器,存放完整对象

 

  流程:首先从一级缓存中找,没找到则从二级缓存中找,没有则三级缓存工厂创建

 

 

   

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...