Spring Bean 的生命周期?、
时间: 2024-05-30 14:16:33 浏览: 87
Spring Bean 的生命周期可以分为以下阶段:
1. 实例化:当容器启动时,会根据配置文件或注解等方式创建 Bean 的实例。
2. 属性赋值:在实例化之后,容器会根据配置文件或注解等方式为 Bean 的属性赋值。
3. BeanNameAware:容器会调用 BeanNameAware 接口中的 setBeanName() 方法,将当前 Bean 的名称传入。
4. BeanFactoryAware/ApplicationContextAware:容器会调用 BeanFactoryAware/ApplicationContextAware 接口中的 setBeanFactory()/setApplicationContext() 方法,将当前 Bean 所在的 BeanFactory/ApplicationContext 传入。
5. BeanPostProcessor 的 postProcessBeforeInitialization() 方法:容器会调用 BeanPostProcessor 接口的 postProcessBeforeInitialization() 方法,对 Bean 进行后处理。
6. InitializingBean 的 afterPropertiesSet() 方法:如果 Bean 实现了 InitializingBean 接口,容器会调用其 afterPropertiesSet() 方法,进行初始化操作。
7. 自定义初始化方法:如果 Bean 在配置文件中指定了自定义的初始化方法,容器会调用该方法进行初始化。
8. BeanPostProcessor 的 postProcessAfterInitialization() 方法:容器会调用 BeanPostProcessor 接口的 postProcessAfterInitialization() 方法,对 Bean 进行后处理。
9. 使用:Bean 初始化完成后,可以被容器使用。
10. 销毁:当容器关闭时,会调用 Bean 的销毁方法进行清理工作。
11. DisposableBean 的 destroy() 方法:如果 Bean 实现了 DisposableBean 接口,容器会调用其 destroy() 方法进行销毁操作。
12. 自定义销毁方法:如果 Bean 在配置文件中指定了自定义的销毁方法,容器会调用该方法进行销毁。
阅读全文