spring源码学习中的知识点

Posted esther-qing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring源码学习中的知识点相关的知识,希望对你有一定的参考价值。

一、循环依赖

循环依赖就是循环引用,就是两个或多个bean之间互相持有对方。

1.构造器循环依赖

表示通过构造器注入造成的循环依赖,此依赖是无法解决的,只能抛出BeanCurrentlyInCreationException异常表示循环依赖。

2.setter循环依赖

对于setter注入造成的依赖是通过spring容器提前暴露刚完成构造器注入但未完成其他步骤(如setter注入)的bean来完成的,而且只能解决singleton单例作用域的bean循环依赖。

3.prototype范围的依赖处理

 对于“prototype”作用域bean,spring容器无法完成依赖注入,因为spring容器无法缓存prototype作用域的bean,因此无法提前暴露一个创建中的bean。

 

以上是关于spring源码学习中的知识点的主要内容,如果未能解决你的问题,请参考以下文章

Spring源码学习的初步体会

Spring源码研读中的知识盲区整理

Spring 源码学习扩展功能 下篇

0源码基础学习Spring源码系列——Spring如何解决循环依赖

Spring Ioc源码深入剖析预备知识

Spring 源码阅读-BeanDefinition 基本概念