先附上链接
https://www.cnblogs.com/zzq6032010/p/11406405.html
总结:
- 构造器依赖是无法解决的,因为JVM虚拟机在对类进行实例化的时候,需先实例化构造器的参数,而由于循环引用这个参数无法提前实例化,故只能抛出错误。
- spring解决的是属性依赖。
- 单例对象先存在于singletonFactories中,后存在于earlySingletonObjects中,最后初始化完成后放入singletonObjects中
- Spring通过将实例化后的对象提前暴露给Spring容器中的singletonFactories,解决了循环依赖的问题。