20210515# 【spring源码全集】B站唯一阿里P8级别的架构师教程

说明

视频地址: https://www.bilibili.com/video/BV1uE411d7L5?from=search&seid=6807897890479939370

博客地址: https://blog.csdn.net/java_lyvee

content

1 spring中的循环依赖

image-20210515102030677

image-20210515102605497

image-20210515103036590

image-20210515103150147

2 spring如何初始化一个bean

image-20210515104740956

image-20210515104834218

image-20210515104933210

image-20210515105118955

image-20210515105314615

image-20210515105326783

image-20210515105349485

image-20210515105405478

3 从源码证明spring bean 的实例化过程

4 Spring的核心 getSingleton方法

image-20210515132707888

5 SpringBean的生成和循环依赖

假设:

存在A、B两个类互相依赖。那么Spring是如何摆脱循环依赖,进行自动注入的呢?

  • getBean(A.class),首先从单例对象的缓存中获取:singletonObjects
  • 如果不存在,则去创建该对象并进行属性赋值。
  • 此时会getBean(B.class),同样也会判断单例对象的缓存中是否有,如果
  • 此时 对象B 不存在,所以创建对象B。

6 getBeanPostProcessor

7 循环依赖与services

8 singletonObjects-map解析

posted @ 2021-05-15 11:05  傀儡岁月  阅读(130)  评论(0编辑  收藏  举报