最通俗的方式理解Spring循环依赖三级缓存

 2023-02-13
原文作者:Tom弹架构 原文地址:https://juejin.cn/post/7101486213298651149

今天,有位粉丝找我,说要耽误我5分钟时间,想让我帮助它理解一下Spring循环依赖的三级缓存,绕晕了一个星期,没有想明白。我想今天,用最通俗易懂的方式给大家重新梳理一下,保证让你听懂了。

1、什么是循环依赖?

循环依赖就是指循环引用,是两个或多个Bean相互之间的持有对方的引用。循环依赖有三种形态:

1、相互依赖,也就是A 依赖 B,B 又依赖 A,它们之间形成了循环依赖。

202301012020330401.png

2、三者间依赖,也就是A 依赖 B,B 依赖 C,C 又依赖 A,形成了循环依赖。

202301012020336812.png

3、自我依赖,也是A依赖A形成了循环依赖自己依赖自己。

202301012020342333.png

2、如何解决循环依赖问题?

循环依赖本身没有问题,问题是Spring中加入了依赖注入机制,也就是自动给属性赋值。当创建Bean实例化以后,需要给Bean中需要赋值的属性全部自动赋值才能交给用户使用。但如果是循环依赖的情况,以两个Bean相互依赖的情况为例,

202301012020350344.png

本文为“Tom弹架构”原创,转载请注明出处。技术在于分享,我分享我快乐!
如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力。关注**微信公众号『 Tom弹架构 』**可获取更多技术干货!

我是被编程耽误的文艺Tom