概述:
Spring的Bean的生命周期指的是Bean从创建到初始化再到销毁的过程,这个过程由IOC容器管理。一个bean的生命周期主要是4个步骤, 实例化,属性注入,初始化,销毁,但是对于一些复杂的bean的创建,Spring会在Bean的生命周期中开放很多的接口,能够让你加载Bean的时候对Bean做一些改变。在Spring中有一些特殊的Bean会介入到其他Bean的声明周期当中去,所以一个普通的Bean的生命周期为:
- 实现了BeanFactoryPostProcessor接口的bean,在加载其他的bean的时候,也会调用这个bean的 postProcessBeanFactory方法,可以在这个步骤去对bean中的属性去赋值。设置年龄初始化为18等。
- 实现了InstantiationAwareBeanPostProcessor接口的bean,会在实例化bean之前调用 postProcessBeforeInstantiation方法
- 然后再对bean进行实例化
- 对bean进行属性注入
- 对bean进行初始化,在初始化中,包含了以下几个步骤: 1. 实现了BeanFactoryAware接口,会先调用setBeanFactory方法 2. 实现了BeanNameAware接口,会先调用setBeanName方法 3. 实现了BeanPostProcessor接口,会先调用postProcessBeforeInitialization方法 4. 实现了InitializingBean接口,会调用afterPropertiesSet方法 5. 然后在进行aop后置处理,通过实现BeanPostProcessor接口,在postProcessAfterInitial