Spring 无法解决构造方法的循环引用。因为在构造方法中发生循环依赖时,Spring 容器无法创建其中一个 Bean,因为创建Bean执行构造方法是在执行实例化时完成的,实例化之后才可以去判断是否支持循环引用,而Bean根本无法创建完成并将其注入到另一个 Bean 中。具体如图所示
同时保证不会发生死循环或者空指针异常。为了解决这个问题,可以采用其他方式,例如将其中一个 Bean 改为使用 Setter 方法进行注入,或者通过引入一个容器级别的代理对象来处理循环依赖。
Spring 无法解决构造方法的循环引用。因为在构造方法中发生循环依赖时,Spring 容器无法创建其中一个 Bean,因为创建Bean执行构造方法是在执行实例化时完成的,实例化之后才可以去判断是否支持循环引用,而Bean根本无法创建完成并将其注入到另一个 Bean 中。具体如图所示
同时保证不会发生死循环或者空指针异常。为了解决这个问题,可以采用其他方式,例如将其中一个 Bean 改为使用 Setter 方法进行注入,或者通过引入一个容器级别的代理对象来处理循环依赖。