文章目录 Spring是如何解决循环依赖的? Spring是如何解决循环依赖的? 什么是循环依赖? 有两个类A、B。类A中的一个属性是类B,类B中的一个属性是类A,这种依赖就是循环依赖。Spring是如何解决循环依赖的? Spring是通过递归的方式获取目标bean及其所依赖的bean的。Spring实例化一个bean的时候,是分两步进行的,首先实例化目标bean,然后为其注入属性。 总结 综合这两点,也就是说,Spring在实例化一个bean的时候,是首先递归的实例化其所依赖的所有bean,直到某个bean没有依赖其他bean,此时就会将该实例返回,然后反递归的将获取到的bean设置为各个上层bean的属性的。