假设对象A中有属性是对象B,对象B中也有属性是对象A,即A和B循环依赖。
1、创建对象A,调用A的构造,并把A保存下来。
2、然后准备注入对象A中的依赖,发现对象A依赖对象B,那么开始创建对象B。
3、调用B的构造,并把B保存下来。
4、然后准备注入B的构造,发现B依赖对象A,对象A之前已经创建了,直接获取A并把A注入B(注意此时的对象A还没有完全注入成功,对象A中的对象B还没有注入),于是B创建成功。
5、把创建成功的B注入A,于是A也创建成功了。
于是循环依赖就被解决了。
————————————————
版权声明:本文为CSDN博主「lkforce」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lkforce/article/details/97183065