Spring的循环依赖解读?
时间: 2023-06-05 15:05:39 浏览: 101
循环依赖是指两个或多个 Bean 互相依赖,形成环状依赖的情况。Spring 容器在创建 Bean 时,一旦出现循环依赖,就会抛出 BeanCurrentlyInCreationException 异常。为了解决循环依赖问题,Spring 使用了三级缓存机制,即 earlySingletonObjects、singletonFactories 和 singletonObjects。通过在两个 Bean 之间设置中间继承的抽象类或接口,也可以解决循环依赖的问题。例如,通过在两个依赖关系中的一个 Bean 中使用 @Autowired(required=false),并将需要的 Bean 通过构造函数注入即可。
阅读全文