什么是循环依赖
什么是循环依赖
呢?可以把它拆分成循环
和依赖
两个部分来看,循环是指计算机领域中的循环,执行流程形成闭合回路;依赖就是完成这个动作的前提准备条件,和我们平常说的依赖大体上含义一致。放到 Spring
中来看就一个或多个 Bean
实例之间存在直接或间接的依赖关系,构成循环调用,循环依赖可以分为直接循环依赖
和间接循环依赖
,直接循环依赖的简单依赖场景:Bean A
依赖于 Bean B
,然后 Bean B
又反过来依赖于 Bean A
(Bean A -> Bean B -> Bean A
),间接循环依赖的一个依赖场景:Bean A
依赖于 Bean B
,Bean B
依赖于 Bean C
,Bean C
依赖于 Bean A
,中间多了一层,但是最终还是形成循环(Bean A -> Bean B -> Bean C -> Bean A
)。