源码级详解Spring的三级缓存,循环依赖的处理流程

掘金头条 3年前 (2022) juejinhot
1.2K 0

查看原文

? 源码级详解Spring的三级缓存,循环依赖的处理流程

内容简介:

2.二级缓存:存放半成品Bean,既实例化完成未初始化的Bean。3.三级缓存:存放bean工厂一级缓存是必须的,这个我们没有什么疑问。那为什么要有二级缓存,二级缓存主要是用来解决循环依赖的问题。循环依赖就是指循环引用,是两个或多个Bean相互之间的持有对方的引用。举个简单的例子:AService中依赖了BService,而BService又依赖了AService,这样就构成循环依赖。Spring是允许单例bean进行循环依赖的。下面我就带大家从源码的层面,讲解三级缓存是如何解决循环依赖问题的。1.doCreateBean方法会调用createBeanInstance方法来对beanA进行实例化。2.addSingletonFactory(beanName, () -> getEarl...

?更多精彩头条内容,请收藏程序员导航网,为您提供一站式码农必备网址大全,持续为您输出优质站点和IT信息!

版权声明:juejinhot 发表于 2022-12-15 11:48:25。
转载请注明:源码级详解Spring的三级缓存,循环依赖的处理流程 | 程序员导航网

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...