从一个类开始,依赖线路能回到该类,从而形成了一个依赖闭环,这就是循环依赖。
如A, B两个类形成的循环依赖:
相关代码:
public class Test {
public static void main(String[] args) {
A a = new A();
}
}
class A {
private A a = new A();
}
class B {
private A a = new A();
}
执行结果会抛出StackOverflowError
一个类也能形成循环依赖情况:
相关代码:
public class Test {
public static void main(String[] args) {
A a = new A();
}
}
class A {
private A a = new A();
}
执行结果会抛出StackOverflowError
若出线循环依赖的情况,Spring是如何解决的呢?未完待续~