Spring bean容器的生命周期是什么样的?

时间:2022-11-11 18:02:06


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方法,那么将调用它。