从整体上分析了如何从 Spring IoC 容器获取一个 bean 对象
从流程图可以看出,当获取一个 bean 对象时,Spring 会首先尝试从缓存中获取单例对象
只有对象是单例的场景,即 scope 为 singleton 时才会缓存对象。
这里其实涉及到了所谓的「三级缓存」,为了更容易理解三级缓存,本文先研究这个 bean 对象是什么时候放入缓存的,后面再研究三级缓存。
创建 bean 对象:createBeanInstance 方法
填充属性:populateBean 方法
初始化 bean:initializeBean 方法
spring IOC 的启动流程
Spring 如何创建单例的 bean 对象:
1、创建 bean 对象
2、填充 bean 属性
3、初始化 bean 对象