spring的生命周期
时间: 2023-07-21 07:53:10 浏览: 48
Spring框架中的生命周期指的是Bean的生命周期,它包括以下阶段:
1. 实例化:当容器接收到创建Bean的请求时,它会实例化Bean,即创建一个Bean的实例。
2. 属性赋值:在Bean实例化之后,容器会将Bean的属性值赋给它们对应的属性。
3. 自定义初始化方法:如果Bean实现了InitializingBean接口或定义了自定义的初始化方法,容器会在属性赋值之后调用该方法。
4. BeanPostProcessor的前置处理:如果容器中有BeanPostProcessor实现类,容器会在调用自定义初始化方法之前调用它们的postProcessBeforeInitialization()方法。
5. 自定义初始化方法:如果Bean实现了InitializingBean接口或定义了自定义的初始化方法,容器会在BeanPostProcessor的前置处理之后调用该方法。
6. BeanPostProcessor的后置处理:如果容器中有BeanPostProcessor实现类,容器会在调用自定义初始化方法之后调用它们的postProcessAfterInitialization()方法。
7. 可用性:经过上述处理后,Bean已经可以使用了。
8. 自定义销毁方法:如果Bean实现了DisposableBean接口或定义了自定义的销毁方法,容器会在销毁Bean之前调用该方法。
9. BeanPostProcessor的销毁前置处理:如果容器中有BeanPostProcessor实现类,容器会在调用自定义销毁方法之前调用它们的postProcessBeforeDestruction()方法。
10. 销毁:经过上述处理后,容器会销毁Bean。
总的来说,Spring的生命周期包括Bean的实例化、属性赋值、自定义初始化方法、BeanPostProcessor的前置和后置处理、可用性、自定义销毁方法和BeanPostProcessor的销毁前置处理和销毁。这些阶段可以通过实现BeanPostProcessor接口和InitializingBean、DisposableBean接口以及定义自定义的初始化方法和销毁方法来进行控制和扩展。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)