查看原文
内容简介:
2.二级缓存:存放半成品Bean,既实例化完成未初始化的Bean。3.三级缓存:存放bean工厂一级缓存是必须的,这个我们没有什么疑问。那为什么要有二级缓存,二级缓存主要是用来解决循环依赖的问题。循环依赖就是指循环引用,是两个或多个Bean相互之间的持有对方的引用。举个简单的例子:AService中依赖了BService,而BService又依赖了AService,这样就构成循环依赖。Spring是允许单例bean进行循环依赖的。下面我就带大家从源码的层面,讲解三级缓存是如何解决循环依赖问题的。1.doCreateBean方法会调用createBeanInstance方法来对beanA进行实例化。2.addSingletonFactory(beanName, () -> getEarl...
?更多精彩头条内容,请收藏程序员导航网,为您提供一站式码农必备网址大全,持续为您输出优质站点和IT信息!
暂无评论...