当前位置:   article > 正文

spring循环依赖源码分析_spring循环依赖代码源码

spring循环依赖代码源码

绪论

在使用spring或者springboot项目开发中,经常通过注入的方式完成一个bean对另一个bean的引用,比如classA中药注入B的bean,写法如下

@Autowired
private B b
  • 1
  • 2

而B中要注入A的话就是下面的写法了

@Autowired
private A a
  • 1
  • 2

用法非常简单,一目了然,用习惯了就成自然了,觉得就是那么回事,但小编最近读了点儿spring源码,就想搞清楚spring怎么就那么聪明,你那样用就可以完成注入呢?

现在我想探讨的是另一个问题,当在class A 中注入B,同时在class B中注入A,如果按照spring的bean的生命周期的过程去分析,发现这个问题竟然是循环依赖,按照我的理解和对spring ioc的一点研究,这就是成了死循环了啊,那么spring是怎么解决这个问题呢?这个问题很重要也很有意思,我们先来看看下面这张简图:
在这里插入图片描述

上述这幅图从直观的理解上描述了一个看似bug的问题,就是循环注入依赖,首先我们通过代码来看一个简单的例子吧,代码非常简单,两个被spring管理的类,一个启动类,一

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/656773
推荐阅读
相关标签
  

闽ICP备14008679号