SpringBoot中如何避免并解决构造器注入导致的循环依赖问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计979个文字,预计阅读时间需要4分钟。
1. 循环依赖的类型是什么?Bean A 依赖 B,Bean B 依赖 A,这种情况下会出现循环依赖。例如:Bean A 依赖→Bean B 依赖→Bean A,更复杂的循环依赖如下:Bean A 依赖→Bean B 依赖→Bean C 依赖→Bean D 依赖→Bean E 依赖→Bean A
1. 循环依赖是什么?
Bean A 依赖 B,Bean B 依赖 A这种情况下出现循环依赖。
Bean A → Bean B → Bean A
更复杂的间接依赖造成的循环依赖如下。
Bean A → Bean B → Bean C → Bean D → Bean E → Bean A
2. 循环依赖会产生什么结果?
当Spring正在加载所有Bean时,Spring尝试以能正常创建Bean的顺序去创建Bean。
例如,有如下依赖:
Bean A → Bean B → Bean C
Spring先创建beanC,接着创建bean B(将C注入B中),最后创建bean A(将B注入A中)。
本文共计979个文字,预计阅读时间需要4分钟。
1. 循环依赖的类型是什么?Bean A 依赖 B,Bean B 依赖 A,这种情况下会出现循环依赖。例如:Bean A 依赖→Bean B 依赖→Bean A,更复杂的循环依赖如下:Bean A 依赖→Bean B 依赖→Bean C 依赖→Bean D 依赖→Bean E 依赖→Bean A
1. 循环依赖是什么?
Bean A 依赖 B,Bean B 依赖 A这种情况下出现循环依赖。
Bean A → Bean B → Bean A
更复杂的间接依赖造成的循环依赖如下。
Bean A → Bean B → Bean C → Bean D → Bean E → Bean A
2. 循环依赖会产生什么结果?
当Spring正在加载所有Bean时,Spring尝试以能正常创建Bean的顺序去创建Bean。
例如,有如下依赖:
Bean A → Bean B → Bean C
Spring先创建beanC,接着创建bean B(将C注入B中),最后创建bean A(将B注入A中)。

