开发者社区 问答 正文

Spring 如何解决循环依赖?

Spring 如何解决循环依赖?

展开
收起
真的很搞笑 2021-10-25 21:37:12 365 分享 版权
1 条回答
写回答
取消 提交回答
  • Spring主要的思路就是依据三级缓存,在实例化A时调用doGetBean,发现A依赖的B的实例,此时调用doGetBean去实例B,实例化的B的时候发现又依赖A,如果不解决这个循环依赖的话此时的doGetBean将会无限循环下去,导致内存溢出,程序奔溃。spring引用了一个早期对象,并且把这个"早期引用"并将其注入到容器中,让B先完成实例化,此时A就获取B的引用,完成实例化。

    2021-10-25 21:38:32
    赞同 展开评论