阿里面试官居然不懂Spring是如何解决循环依赖的?
Posted JavaEdge.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里面试官居然不懂Spring是如何解决循环依赖的?相关的知识,希望对你有一定的参考价值。
当Bean产生循环依赖时,比如BeanA的构造方法依赖BeanB作为成员需要注入,BeanB也依赖BeanA,你觉得会出现什么问题呢?又有哪些解决方式呢?
直观解决方法时通过set方法去处理,背后的原理其实是缓存。
主要解决方式:使用三级缓存
- singletonObjects: 一级缓存, Cache of singleton objects: bean name --> bean instance
- earlySingletonObjects: 二级缓存, Cache of early singleton objects: bean name --> bean instance 提前曝光的BEAN缓存
- singletonFactories: 三级缓存, Cache of singleton factories: bean name --> ObjectFactory
以上是关于阿里面试官居然不懂Spring是如何解决循环依赖的?的主要内容,如果未能解决你的问题,请参考以下文章
面试官猛的一问:Spring的Bean注入如何解决循环依赖的?