Spring 中Bean的生命周期
Spring框架中,一旦把一个Bean纳入Spring IoC容器之中,这个Bean的生命周期就会交由容器进行管理,一般担当管理角色的是BeanFactory或者ApplicationContext。
那么Spring的生命周期简单的概括为:
Bean对象的创建,初始化,服务,销毁。
简单流程图
以下为简单文字版
- 实例化bean对象(通过构造方法或者工厂方法)
- 设置对象属性(setter等)(依赖注入)
- 如果Bean实现了BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。(和下面的一条均属于检查Aware接口)
- 如果Bean实现了BeanFactoryAware接口,工厂调用setBeanFactory()方法传入工厂自身
- 将Bean实例传递给Bean的前置处理器的postProcessBeforeInitialization()方法
- 调用Bean的初始化方法
- 将Bean实例传递给Bean的后置处理器的postProcessAfterInitialization()方法
- 使用Bean
- 容器关闭之前,调用Bean的销毁方法