admin管理员组文章数量:1516870
java解决循环引用
spring中通过依赖注入的方法来解决类的相互依赖问题!!!
spring中通过依赖注入的方法来解决类的相互依赖问题!!!
spring中通过依赖注入的方法来解决类的相互依赖问题!!!
只要不是构造函数注入就不会产生循环引用的问题。
这是因为:
spring 容器对构造函数配置Bean 进行实例化的时候,有一个前提,即 Bean 构造函数入参引用的对象必须已经准备就绪。
由于这个机制,如果两个Bean 都循环引用,都采用构造函数注入的方式,就会发生类似于线程死锁的循环依赖问题。
代码示例:
public class TestA {
private TestB b;
public TestA(){
b = new TestB();
System.out.println("init A");
}
}
public class TestB {
private TestA a;
public TestB(){
a = new TestA();
System.out.println("testB init");
}
public static void main(String[] args) {
TestA testA = new TestA();
}
}
运行后日志:
Exception in thread "main
本文标签: java解决循环引用
版权声明:本文标题:java解决循环引用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1708361024a742543.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论