Spring的循环依赖

矫情吗;* 2024-04-08 12:20 138阅读 0赞

在Spring 中循环依赖是一个问题, 为什么?

因为,在Spring中,一个对象并不是简单new出来的, 而是会经过一系列的Bean的生命周期,就是因为Bean的生命周期,所有才会出现循环依赖的问题。

要明白Spring中的循环依赖,需要先明白Spring中Bean的生命周期:

ed497ab73021436bae67998ad0cd835d.png

e66b382ac0b14fef9299d9152ef8e6d5.png

从而导致ABean创建不出来, BBean也创建不出来。

  1. @Component
  2. public class AService{
  3. @Autowired
  4. private BService bService;
  5. public void test(){
  6. sout(bService);
  7. }
  8. }
  9. @Component
  10. public class BService{
  11. @Autowired
  12. private AService aService;
  13. public void test(){
  14. sout(aService);
  15. }
  16. }

Spring创建AService的过程:

  1. 实例化AService —->

发表评论

表情:
评论列表 (有 0 条评论,138人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Spring循环依赖

    在Spring 中循环依赖是一个问题, 为什么? 因为,在Spring中,一个对象并不是简单new出来的, 而是会经过一系列的Bean的生命周期,就是因为Bean的生命周期,

    相关 Spring循环依赖

    什么是循环依赖? 循环依赖其实就是循环引用,也就是两个或者两个以上的 bean 互相持有对方,最终形成闭环。比如 A 依赖于 B,B 依赖于 C,C 又依赖于 A。如下图

    相关 spring循环依赖

    Bean的生命周期 这里不会对Bean的生命周期进行详细的描述,只描述一下大概的过程。 Bean的生命周期指的就是:在Spring中,Bean是如何生成的? > 被Sp