Spring Bean的生命周期主要包括以下阶段:
-
实例化:当Spring容器加载配置文件时,将实例化所有的Bean。
-
属性赋值:在实例化Bean之后,Spring将使用依赖注入或属性设置方法来设置Bean的属性值。
-
初始化:首先,BeanPostProcessor前置处理;然后,检查是否是InitializingBean已决定调用afterPropertiesSet方法;最后,检查是否配置自定义init-method;BeanPostProcessor后置处理。
-
使用:Bean实例化后,就可以被Spring容器中的其他Bean所引用和使用。
-
销毁:当应用程序关闭时,Spring容器会销毁所有的Bean。在销毁Bean之前,Spring将调用Bean的销毁方法。如果Bean实现了DisposableBean接口,那么Spring将调用它的destroy()方法。