Spring中Bean的生命周期及其扩展点
1、聊透spring bean的生命周期;
https://juejin.cn/post/7155884227714613285
1、创建前准备:
bean在开始加载之前从上下文和配置中解析并查找bean有关的扩展实现,如: init-method,destroy-method, BeanFactoryPostProcessor等一些扩展实现。
2、创建bean:
绝大多数情况下,Spring是通过反射来创建对象的,不过如果我们提供了Supplier或者工厂方法,Spring也会直接使用我们提供的创建方式。
扫描解析bean的一些属性
3、属性填充:
依赖注入
4、初始化bean:
该阶段主要做bean的初始化操作,包括:回调Aware接口、回调初始化方法、生成代理对象等。
5、销毁实例阶段:
在创建bean的时候,会判断如果bean是DisposableBean
、AutoCloseable
的子类,或者有 destroy-method
等,会注册为可销毁的bean,在容器关闭时,调用对应的方法进行bean的销毁。
2、spring bean的扩展点:
https://blog.csdn.net/qq_38826019/article/details/117389466