了解Spring中循环依赖流程,绝杀面试官!
2023-09-28 10:09:19 软件 384观看
摘要请阐述下你对spring循环依赖的理解?真的是......秃头是有原因的......下面逐层深入了解,揭开它的神秘面纱!一、什么是循环依赖二、相关概念说明spring中的一、二、三级缓存#一级缓存:存储所有创建完整的beanprivate final

BVA28资讯网——每日最新资讯28at.com

请阐述下你对spring循环依赖的理解?真的是......秃头是有原因的......BVA28资讯网——每日最新资讯28at.com

下面逐层深入了解,揭开它的神秘面纱!BVA28资讯网——每日最新资讯28at.com

一、什么是循环依赖

BVA28资讯网——每日最新资讯28at.com

在调用createBeanInstance,通过反射实例化对象后,会调用addSingletonFactory方法,将创建的早期对象存放到三级缓存中。所以关键在于三级缓存中是否存在早期对象;比如:上述场景二:均采用构造器注入,为什么不支持该场景呢?BVA28资讯网——每日最新资讯28at.com

创建beanA时,在执行createBeanInstance(beanA)方法时,此时发现beanA依赖beanB,则会去执行创建beanB流程,但是此时addSingletonFactory方法并没有执行,则三级缓存中不存在早期对象beanA,所以spring不支持“均采用构造器注入”的场景。

上述其他场景不再一一阐述。BVA28资讯网——每日最新资讯28at.com

五、只使用二级缓存可以解决循环依赖吗?

AOP代理本质是反射,反射出来的对象每次都是不同的,如果多个对象和beanA出现循环依赖,那么只有二级缓存的话就会反射出不同的对象了。BVA28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-11891-0.html了解Spring中循环依赖流程,绝杀面试官!

声明:本网页内容旨在传播知识,不代表本站观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。

显示全文

上一篇:C#.Net里面的.CCtor和Ctor是什么呢?

下一篇:Java First Hello World 程序,你了解多少?

最新热点