Spring中bean的生命周期
- 调用bean的构造方法创建bean;
- 通过反射调用setter方法进行属性的依赖注入;
- 如果实现BeanNameAware接口的话,会设置bean的name;
- 如果实现BeanFactoryAware接口,会把bean factory设置给bean;
- 如果实现了ApplicationContextAware接口,会给bean设置ApplicationContext;
- 如果实现了BeanPostProcessor接口,则执行前置处理方法;
- 实现了InitializingBean接口,则执行afterPropertiesSet方法;
- 执行自定义的init方法;
- 执行BeanPostPrecessor接口的后置处理方法;
到此,完成bean的创建过程。
在使用完bean需要销毁时,会先执行DisposableBean接口的destory方法,然后执行自定义的destory方法。