Spring 出现Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException异常

此异常是由Spring IoC容器在运行时检测循环引用时抛出的异常, 示例如下:

public class A {
    private B b;
    public A(B b) {
        this.b = b;
    }
}
public class B {
    private A a;
    public B(A a) {
        this.a = a;
    }
}

    


    

由于类A通过构造注入需要类B的实例,而类B通过构造注入需要类B的实例,二者之间相互注入,导致循环引用抛出异常,这是一个典型的先有鸡还是先有蛋的故事。所以在使用spring配置类的循环依赖的关系时,应当尽量避免使用构造注入,而是使用setter注入。

 

你可能感兴趣的:(Java,Spring,框架,学习笔录)