Spring学习之循环依赖
什么是循环依赖?
很简单,就是A对象依赖了B对象,B对象依赖了A对象。
例如:
// A依赖了B
class A{
public B b;
}
// B依赖了A
class B{
public A a;
}
那么循环依赖是个问题吗?
如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情。
例如:
A a = new A();
B b = new B();
a.b = b;
b.a = a;
这样,A,B就依赖上了。
但是,在Spring中循环依赖就是一个问题了,为什么?
因为,在Spring中,一个对象并不是简单new出来了,而是会经过一系列的Bean的生命周期,就是因为Bean的生命周期所以才会出现循环依赖问题。当然,在Spring中,出现循环依赖的场景很多,有的场景Spring自动帮我们解决了,而有的场景则需要程序员来解决。
本文深入探讨了Spring框架中循环依赖的概念及其产生的原因。通过具体的代码示例,解释了A对象和B对象之间的相互依赖,并讨论了在不使用Spring时循环依赖并非问题,但在Spring环境中,由于Bean的生命周期管理,循环依赖可能引发的问题。
769

被折叠的 条评论
为什么被折叠?



