Loading...

什么是循环依赖

循环依赖是指两个或者多个bean之间相互引用,形成了一个闭环。

最典型的场景就是:

比如Spring正在创建Bean A,发现它依赖B,于是就去创建B,结果在创建B的时候,又发现它依赖A。

但是这个时候A正在创建中,还没有完全生成,这样B就拿不到A的引用,所以该咋办呢?

这里又分为构造器注入Setter注入两种情况:

如果是构造器注入,那好办,Spring直接就给你抛出BeanCurrentlyInCreationException错误。

如果是Setter注入,Spring则是通过三级缓存机制来解决。

Code Road Record