每日一博 | Spring 源码分析之循环依赖及解决方案
点击上方蓝色“奇客时间”,选择“设为星标” 回复“面试宝典”获取美团、滴滴、阿里2020面试真题 往期文章: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostProcessor调用过程详解 Spring源码分析之Bean的创建过程详解 正文: 首先,我们需要明白什么是循环依赖?简单来说就是A对象创建过程中需要依赖B对象,而B对象创建过程中同样也需要A对象,所以A创建时需要先去把B创建出来,但B创建时又要先把A创建出来...死循环有木有... 循环依赖 那么在Spring中,有多少种循环依赖的情况呢?大部分人只知道两个普通的Bean之间的循环依赖,而Spring中其实存在三种对象(普通Bean,工厂Bean,代理对象),他们之间都会存在循环依赖,这里我给列举出来,大致分别以下几种: 普通Bean与普通Bean之间 普通Bean与代理对象之间 代理对象与代理对象之间 普通Bean与工厂Bean之间 工厂Bean与工厂Bean之间 工厂Bean与代理对象之间 那么,在Spring中是如何解决这个问题的...

