Bean的生命周期
注:Bean实例化阶段 —》Bean实例化前阶段 —》 通过调用自定义的BeanPostOProcessor去进行实例化,可以有返回实例化对象,也可以没有返回。
—》如果实例化返回之后就不会再走Spring的实例化流程
生成步骤
被Spring管理的对象叫做Bean。Bean的生成步骤如下:
- Spring扫描class得到BeanDefinition
- 根据得到的BeanDefinition去生成bean
- 首先根据class推断构造方法
- 根据推断出来的构造方法,反射,得到一个对象(暂时叫做原始对象)
- 填充原始对象中的属性(依赖注入)
- 如果原始对象中的某个方法被AOP了,那么则需要根据原始对象生成一个代理对象
- 把最终生成的代理对象放入单例池(源码中叫做singletonObjects)中,下次getBean时就直接从单例池拿即可
本文深入解析Spring框架中Bean的生命周期,从BeanDefinition的获取到单例池的存储过程,包括实例化、依赖注入、AOP代理及单例化等关键步骤。
1059

被折叠的 条评论
为什么被折叠?



