我们知道在单例的情况下通过setter注入和字段注入的方式,Spring是可以帮助我们解决循环依赖的问题!
但是多例的情况和构造器注入的方法为什么会报异常?
多例的情况循环依赖异常
这个其实很好解释,因为在处理循环依赖的问题我们是通过三级缓存来打破循环依赖的,但是多例Bean每次都是创建新的Bean,没有存入缓存。
所以自然没办法处理循环依赖的问题!
构造器注入的方法循环依赖异常
我们在idea工具中使用字段注入的方式把一个类注入到另外一个类中时,idea工具会提示不推荐这个方法,需要我们使用构造器来注入,
因为构造器方法注入时的字段是不可变的,且构造器的入参是一个完全初始化的状态,但是对于循环依赖这个问题来说,依赖双方的Bean都是半成品的,
所以这个情况构造器方法注入也是不支持的!