小言_互联网的博客

阿里面试官居然不懂Spring是如何解决循环依赖的?

282人阅读  评论(0)

当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

转载:https://blog.csdn.net/qq_33589510/article/details/116755064
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场