Spring Bean的完整生命周期可以分为以下四个阶段:
-
实例化(Instantiation):
- 在这个阶段,Spring容器实例化Bean,通常是通过构造函数来完成。这是Bean的创建阶段。
-
属性赋值(Population):
- 在实例化后,Spring容器会通过依赖注入(DI)或者设值方法(Setter)来设置Bean的属性。这是为Bean准备数据的阶段。
-
初始化(Initialization):
- 在属性赋值之后,如果Bean实现了
InitializingBean
接口,或者在配置中指定了init-method
属性,Spring容器将调用Bean的初始化方法。开发者可以在这个阶段执行一些初始化逻辑。
- 在属性赋值之后,如果Bean实现了
-
销毁(Destruction):
- 在Bean被容器管理的生命周期结束时,即容器关闭时,如果Bean实现了
DisposableBean
接口,或者在配置中指定了destroy-method
属性,Spring容器将调用Bean的销毁方法。在这个阶段,开发者可以执行一些清理工作,如释放资源、关闭连接等。
- 在Bean被容器管理的生命周期结束时,即容器关闭时,如果Bean实现了
这四个阶段构成了Spring Bean的完整生命周期。在每个阶段,开发者都有机会介入并执行一些定制化的操作,以满足特定的需求。例如,可以使用BeanPostProcessor
接口在初始化前后进行一些额外的处理,或者通过@PostConstruct
和@PreDestroy
注解指定初始化和销毁方法。这些灵活的扩展点使得Spring框架在处理Bean的生命周期时非常可定制。
Was this helpful?
0 / 0