From 35a7c4a3946a5f8b5f69cfdf909162f076d5f607 Mon Sep 17 00:00:00 2001 From: qhling <78717426+yang520-bye@users.noreply.github.com> Date: Fri, 10 Jun 2022 18:29:46 +0800 Subject: [PATCH] feat(spring): add circular dependency article (#127) --- README.md | 1 + docs/Spring/IoC/循环依赖.md | 268 ++++++++++++++++++++++++++++++++++++ images/spring/循环依赖.png | Bin 0 -> 60236 bytes 3 files changed, 269 insertions(+) create mode 100644 docs/Spring/IoC/循环依赖.md create mode 100644 images/spring/循环依赖.png diff --git a/README.md b/README.md index 81c3c25..1360444 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ - [BeanFactoryPostProcessor](/docs/Spring/IoC/BeanFactoryPostProcessor.md) - [BeanPostProcessor](/docs/Spring/IoC/BeanPostProcessor.md) - [Spring BeanFactory 源码解析](/docs/Spring/clazz/Spring-beanFactory.md) +- [循环依赖](/docs/Spring/IoC/循环依赖.md) ### AOP diff --git a/docs/Spring/IoC/循环依赖.md b/docs/Spring/IoC/循环依赖.md new file mode 100644 index 0000000..d86972a --- /dev/null +++ b/docs/Spring/IoC/循环依赖.md @@ -0,0 +1,268 @@ +# 循环依赖 + +一个对象依赖对象闭环到自己 + +> A -> B -> .... ->A + +tip: + +> 不涉及代理对象问题 + +解决方法:当一个对象已经实例化完毕了,还未初始化的时候,将它注入到它所依赖的已经实例好的对象(提前暴露对象),使得它所依赖的对象是个完整对象(实例化+初始化),然后再将这个完整对象注入给它。 + +## 简单工程(Spring-version-5.3.18) + +我们就用下面两个类进行实践,多个类间依赖也是如此。 + +A 类 + +```java +package cn.demo1; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class A { + private B b; +} +``` + +B 类 + +```java +package cn.demo1; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class B { + private A a; +} +``` + +配置文件 test1.xml + +```xml + + + + + + + + + + +``` + +DefaultSingletonBeanRegistry 类中的几个特别重要的属性 + +```java +// 一级缓存 存放完整Bean对象(实例化+初始化) +private final Map singletonObjects = new ConcurrentHashMap<>(256); + +// 三级缓存 存放一个lambda表达式 +private final Map> singletonFactories = new HashMap<>(16); + +// 二级缓存 存放一个半成品bean对象(只是实例化还未初始化),提前暴露 +private final Map earlySingletonObjects = new ConcurrentHashMap<>(16); +``` + +> 循环依赖问题应该是出现属性填充的时候 + +doCreateBean 这个方法 + +> 可以参照 [createBeanInstance](/docs/Spring/clazz/Spring-beanFactory.md#createbeaninstance) 查看 Spring 是怎么实例化的 + +```java +protected Object doCreateBean(String beanName, RootBeanDefinition mbd, @Nullable Object[] args) + throws BeanCreationException { + // bean的包装类 + BeanWrapper instanceWrapper = null; + if (mbd.isSingleton()) { + instanceWrapper = this.factoryBeanInstanceCache.remove(beanName); + } + if (instanceWrapper == null) { + // 就只是bean的实例化 + instanceWrapper = createBeanInstance(beanName, mbd, args); + } + Object bean = instanceWrapper.getWrappedInstance(); + Class beanType = instanceWrapper.getWrappedClass(); + if (beanType != NullBean.class) { + mbd.resolvedTargetType = beanType; + } + + // 一般为true + boolean earlySingletonExposure = (mbd.isSingleton() && this.allowCircularReferences &&isSingletonCurrentlyInCreation(beanName)); + // ....省略部分 + if (earlySingletonExposure) { + + // 这里是将一段lambda放入三级缓存中,可以看见bean填充属性之前会将三级缓存创建好,它传入了一个还未初始化的bean + addSingletonFactory(beanName, () -> getEarlyBeanReference(beanName, mbd, bean)); + } + Object exposedObject = bean; + try { + populateBean(beanName, mbd, instanceWrapper); + exposedObject = initializeBean(beanName, exposedObject, mbd); + } + // ..........省略部分 + return exposedObject; +} +``` + +addSingletonFactory + +```java +// 其中singletonFactory是一个lambda表达式 +protected void addSingletonFactory(String beanName, ObjectFactory singletonFactory) { + Assert.notNull(singletonFactory, "Singleton factory must not be null"); + synchronized (this.singletonObjects) { + // 如果我们一级缓存中不存在这个叫beanName的bean + if (!this.singletonObjects.containsKey(beanName)) { + // 放入三级缓存中 + this.singletonFactories.put(beanName, singletonFactory); + // 把二级缓存中叫beanName的半成品bean删除 + this.earlySingletonObjects.remove(beanName); + // 标记当前注册的bean + this.registeredSingletons.add(beanName); + } + } +} +``` + +lambda 所执行的方法 + +```java +protected Object getEarlyBeanReference(String beanName, RootBeanDefinition mbd, Object bean) { + Object exposedObject = bean; + // 普通bean是进不来的 + if (!mbd.isSynthetic() && hasInstantiationAwareBeanPostProcessors()) { + for (SmartInstantiationAwareBeanPostProcessor bp : getBeanPostProcessorCache().smartInstantiationAware) { + exposedObject = bp.getEarlyBeanReference(exposedObject, beanName); + } + } + // 直接返回传进来的bean,返回的是一个还未初始化的bean,是提前暴露的 + return exposedObject; +} +``` + +populateBean 中有调用了 applyPropertyValues 这个方法具体详情请点击这里 [applyProertyValues](/docs/Spring/clazz/Spring-beanFactory.md#applypropertyvalues) + +```java +protected void applyPropertyValues(String beanName, BeanDefinition mbd, BeanWrapper bw, PropertyValues pvs) { + + // Create a deep copy, resolving any references for values. + List deepCopy = new ArrayList<>(original.size()); + boolean resolveNecessary = false; + for (PropertyValue pv : original) { + if (pv.isConverted()) { + deepCopy.add(pv); + } + else { + // 属性名字 + String propertyName = pv.getName(); + //当你引用另一个bean的时候,会把它封装成RuntimeBeanReference这个对象,便于操作 + Object originalValue = pv.getValue(); + // 这里是解析的工作,也就是会产生循环依赖产生的地方 + Object resolvedValue = valueResolver.resolveValueIfNecessary(pv, originalValue); + // 省略.... + } +} +``` + +applyPropertyValues 中有个重要的方法调用,省略无关代码 + +```java +// 我们当前需要要的就是 +public Object resolveValueIfNecessary(Object argName, @Nullable Object value) { + // 当前bean的属性值的类型正是这个 + if (value instanceof RuntimeBeanReference) { + RuntimeBeanReference ref = (RuntimeBeanReference) value; + return resolveReference(argName, ref); + } + // 省略... +} +``` + +resolveReferance 中有一段代码 + +```java +// 这个方法会调用getBean +@Nullable +private Object resolveReference(Object argName, RuntimeBeanReference ref) { + // 省略... + + // 上面一般进不去,直接看这个重点 + resolvedName = String.valueOf(doEvaluate(ref.getBeanName())); + // 获取所依赖的bean + bean = this.beanFactory.getBean(resolvedName); + + // 省略... + +} +``` + +getBean 从而到这个 doGetBean 方法,其他代码不多说,最主要是下面这个 + +其中有一段代码,首先它会尝试从缓存中获取到 bean,如果获取不到就创建这个 bean + +```java +Object sharedInstance = getSingleton(beanName); +``` + +> 获取缓存 bean 的顺序是,先从一级缓存中取,若不存在,从二级缓存中取,若还是不存在,则从三级缓存中取 + +```java +@Nullable +protected Object getSingleton(String beanName, boolean allowEarlyReference) { + // 一级缓存中是否存在 + Object singletonObject = this.singletonObjects.get(beanName); + // 如果想要获取的bean正在创建中且无一级缓存 + if (singletonObject == null && isSingletonCurrentlyInCreation(beanName)) { + // 尝试二级缓存 + singletonObject = this.earlySingletonObjects.get(beanName); + if (singletonObject == null && allowEarlyReference) { + synchronized (this.singletonObjects) { + singletonObject = this.singletonObjects.get(beanName); + if (singletonObject == null) { + // 获取二级缓存 + singletonObject = this.earlySingletonObjects.get(beanName); + if (singletonObject == null) { + // 获取三级缓存 + ObjectFactory singletonFactory = this.singletonFactories.get(beanName); + if (singletonFactory != null) { + // 调用三级缓存,这个地方就会调用我们的lambda表达式了 + /** + *() -> getEarlyBeanReference(beanName, mbd, bean) + *这里就是我们解决办法的地方,因为所有普通的bean会首先提前进行三级缓存 + *所以这里会获取到还未初始化的bean,从而赋值到所依赖当前singletonObject对象的bean + */ + singletonObject = singletonFactory.getObject(); + // 放入二级缓存中 + this.earlySingletonObjects.put(beanName, singletonObject); + // 三级缓存中移除当前beanName的lambda表达式 + this.singletonFactories.remove(beanName); + } + } + } + } + } + } + // 完整对象或者还未初始化的对象 + return singletonObject; +} +``` + +最后经历这个就获取到一个半成品对象所依赖的一个完整对象,然后再将完整对象注入半成品对象中。 + +## 历程 + +> 该历程仅代表当前这个项目工程 + +![image](/images/spring/循环依赖.png) diff --git a/images/spring/循环依赖.png b/images/spring/循环依赖.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd1b50db61f4d91eb40bdb43e3cf0e77d5bf53b GIT binary patch literal 60236 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 _qTiGOiUR>`v7Zi$K3ZS(twP?9TDmKu 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 IYE~it4PN(negFUf literal 0 HcmV?d00001