如何通过画图深入理解三级缓存与循环依赖问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3845个文字,预计阅读时间需要16分钟。
大家好。我们都知道,Spring可以通过三级缓存解决循环依赖问题,这也是面试中常见的问题。下面重点讨论一下循环依赖和三级缓存的问题。
一、什么是循环依赖?
循环依赖指的是在对象创建过程中,相互之间持有对方的引用,导致对象无法正常创建的情况。在Spring中,循环依赖主要发生在单例模式的bean创建过程中。
大家好。我们都知道,Spring可以通过三级缓存解决循环依赖的问题,这也是面试中很常见的一个面试题,本文就来着重讨论一下有关循环依赖和三级缓存的问题。
一、什么是循环依赖
大家平时在写业务的时候应该写过这样的代码。
其实这种类型就是循环依赖,就是AService 和BService两个类相互引用。
二、三级缓存可以解决的循环依赖场景
如上面所说,大家平时在写这种代码的时候,项目其实是可以起来的,也就是说其实三级缓存是可以解决这种循环依赖的。
当然除了这种字段注入,set注入也是可以解决的,代码如下。
接下来就来探究三级缓存是如何解决这种循环依赖的?
三、Spring的Bean是如何创建出来的
本文所说的Bean和对象可以理解为同一个意思。
先说如何解决循环依赖之前,先来了解一下一个Bean创建的大致流程。为什么要说Bean的创建过程,因为循环依赖主要是发生在Bean创建的过程中,知道Bean是如何创建的,才能更好的理解三级缓存的作用。
本文共计3845个文字,预计阅读时间需要16分钟。
大家好。我们都知道,Spring可以通过三级缓存解决循环依赖问题,这也是面试中常见的问题。下面重点讨论一下循环依赖和三级缓存的问题。
一、什么是循环依赖?
循环依赖指的是在对象创建过程中,相互之间持有对方的引用,导致对象无法正常创建的情况。在Spring中,循环依赖主要发生在单例模式的bean创建过程中。
大家好。我们都知道,Spring可以通过三级缓存解决循环依赖的问题,这也是面试中很常见的一个面试题,本文就来着重讨论一下有关循环依赖和三级缓存的问题。
一、什么是循环依赖
大家平时在写业务的时候应该写过这样的代码。
其实这种类型就是循环依赖,就是AService 和BService两个类相互引用。
二、三级缓存可以解决的循环依赖场景
如上面所说,大家平时在写这种代码的时候,项目其实是可以起来的,也就是说其实三级缓存是可以解决这种循环依赖的。
当然除了这种字段注入,set注入也是可以解决的,代码如下。
接下来就来探究三级缓存是如何解决这种循环依赖的?
三、Spring的Bean是如何创建出来的
本文所说的Bean和对象可以理解为同一个意思。
先说如何解决循环依赖之前,先来了解一下一个Bean创建的大致流程。为什么要说Bean的创建过程,因为循环依赖主要是发生在Bean创建的过程中,知道Bean是如何创建的,才能更好的理解三级缓存的作用。

