20210515# 【spring源码全集】B站唯一阿里P8级别的架构师教程
说明
视频地址: https://www.bilibili.com/video/BV1uE411d7L5?from=search&seid=6807897890479939370
博客地址: https://blog.csdn.net/java_lyvee
content
1 spring中的循环依赖
2 spring如何初始化一个bean
3 从源码证明spring bean 的实例化过程
4 Spring的核心 getSingleton方法
5 SpringBean的生成和循环依赖
假设:
存在A、B两个类互相依赖。那么Spring是如何摆脱循环依赖,进行自动注入的呢?
- getBean(A.class),首先从单例对象的缓存中获取:singletonObjects
- 如果不存在,则去创建该对象并进行属性赋值。
- 此时会getBean(B.class),同样也会判断单例对象的缓存中是否有,如果
- 此时 对象B 不存在,所以创建对象B。