单例和setter模式下支持循环依赖
在这种模式下,对bean的管理分为两个阶段:
第一个阶段:在Spring容器加载的时候,实例化bean,只要任意一个bean实例化之后,马上进行曝光
第二个阶段:bean曝光之后,再进行属性的赋值
核心解决方案是:实例化对象和对象属性的赋值分为两个阶段来完成
只有scope的值是单例的情况下,bean才会采取提前曝光的措施
在prototype+setter模式下的循环依赖存在问题。会出现BeanCurrentlyInCreationException异常
当一个为prototype,一个为singleton时,不会出现异常
当使用构造方法注入时,没有办法解决循环依赖