浅谈Spring解决循环依赖的三种方式-创新互联

引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错。下面说一下Spring是如果解决循环依赖的。

盱眙网站建设公司创新互联,盱眙网站设计制作,有大型网站制作公司丰富经验。已为盱眙上1000+提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的盱眙做网站的公司定做!

第一种:构造器参数循环依赖

表示通过构造器注入构成的循环依赖,此依赖是无法解决的,只能抛出BeanCurrentlyIn CreationException异常表示循环依赖。

如在创建TestA类时,构造器需要TestB类,那将去创建TestB,在创建TestB类时又发现需要TestC类,则又去创建TestC,最终在创建TestC时发现又需要TestA,从而形成一个环,没办法创建。

Spring容器会将每一个正在创建的Bean 标识符放在一个“当前创建Bean池”中,Bean标识符在创建过程中将一直保持
在这个池中,因此如果在创建Bean过程中发现自己已经在“当前创建Bean池”里时将抛出
BeanCurrentlyInCreationException异常表示循环依赖;而对于创建完毕的Bean将从“当前创建Bean池”中清除掉。

首先我们先初始化三个Bean。

public class StudentA { 
 
 private StudentB studentB ; 
 
 public void setStudentB(StudentB studentB) { 
 this.studentB = studentB; 
 } 
 
 public StudentA() { 
 } 
 
 public StudentA(StudentB studentB) { 
 this.studentB = studentB; 
 } 
} 


本文名称:浅谈Spring解决循环依赖的三种方式-创新互联
转载源于:http://bzwzjz.com/article/dsecsh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都响应式网站建设公司 营销型网站建设 成都网站制作 成都企业网站建设公司 成都网站设计 成都网站设计 成都网站建设 成都做网站建设公司 成都网站设计公司 网站制作公司 外贸网站设计方案 营销型网站建设 定制网站设计 高端网站建设 营销网站建设 高端网站设计 网站建设方案 营销网站建设 成都品牌网站建设 成都网站设计 手机网站制作 外贸网站建设