spring bean容器的生命周期流程如下:
1.spring容器根据配置中的bean定义中实例化bean。
2.spring使用依赖注入填充所有属性,如bean中所定义的配置。
3.如果bean实现BeanNameAware接口,则工厂通过传递bean的ID来调用setBeanName()。
4.如果bean实现BeanFactoryAware接口,工厂通过传递自身的实例来调用
setBeanFactory()
5.如果存在bean关联的任何BeanPostProcessors,则调用preProcessBeforeInitialization()方法。
6.如果为bean指定了init方法(bean的init-method属性),那么将调用它。
7.最后,如果存在与bean关联的任何BeanPostProcessors,则将调用postProcessAfterInitialization()方法。
8.如果bean实现DisposableBean接口,当spring容器关闭时,会调用destory()。
9.如果为bean指定了destory方法,那么将调用它。