Spring:bean的循环依赖问题
2021-02-14 13:16
标签:href == deb export 简介 无法 tick 一个 let 【传送门】:通过循环依赖问题彻底理解 Spring IOC 的精华 循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。 Spring 中的循环依赖有构造器循环依赖和setter循环依赖。 创建beanA时先要实例化beanA,实例化时构造器需要其他beanB, 然后创建beanB,实例化beanB时又依赖beanA, 此时已经发生环形依赖,初始化失败; 创建beanA时先要实例化beanA,实例化后setter方式注入beanB, 然后创建beanB,实例化beanB,之后setter注入beanA, 将实例化的beanA注入,创建beanB完成, 返回beanB注入到beanA 创建beanA时先要实例化beanA,实例化后setter方式注入beanB, 然后创建beanB,实例化beanB,之后setter注入beanA, 此时发现beanA正在创建,然后抛出异常 单例bean允许注入一个实例化的bean,而不是创建完成的bean; prototype的bean不允许注入一个实例化的bean,需要注入一个创建完成的bean,所以此时循环依赖时无法完成初始化; Spring:bean的循环依赖问题 标签:href == deb export 简介 无法 tick 一个 let 原文地址:https://www.cnblogs.com/virgosnail/p/12723106.html1. 简介
2. 原因分析
2.1 构造器注入
2.2 setter注入singleton
2.3 setter注入prototype
2.4 我的理解
下一篇:go语言-使用-例子-乘法表
文章标题:Spring:bean的循环依赖问题
文章链接:http://soscw.com/index.php/essay/55208.html