Spring bean容器的生命周期流程如下:
- Spring容器根据配置中的bean定义实例化bean;
- Spring使用依赖注入填充所有属性,如bean中所定义的配置;
- 如果bean实现BeanNameAware接口,则工厂通过传递bean的ID来调用setBeanName();
- 如果bean实现BeanFactoryAware接口,工厂通过传递自身的实例来调用setBeanFactory();
- 如果存在与bean关联的任何BeanPostProcessors,则调用preProcessBeforeInitialization()方法();
- 如果为bean指定了init方法(<bean>中的init-method属性),那么将调用指定方法;
- 最后,如果存在与bean关联的任何BeanPostProcessors,则调用postProcessAfterInitialization()方法;
- 如果bean实现DisposableBean接口,当spring容器关闭时,会调用destory();
- 如果bean每日定了destory方法(<bean>的destroy-method属性),那么将调用destory方法;
注意:本文归作者所有,未经作者允许,不得转载