当前位置: 首页 > 工具软件 > Bean OSX > 使用案例 >

深究Spring中Bean的生命周期

田志
2023-12-01

Bean 的生命周期

如上图所示,Bean 的生命周期还是比较复杂的,下面来对上图每一个步骤做文字描述:

  1. Spring启动,查找并加载需要被Spring管理的bean,进行Bean的实例化

  2. Bean实例化后对将Bean的引入和值注入到Bean的属性中

  3. 如果Bean实现了BeanNameAware接口的话,Spring将Bean的Id传递给setBeanName()方法

  4. 如果Bean实现了BeanFactoryAware接口的话,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入

  5. 如果Bean实现了ApplicationContextAware接口的话,Spring将调用Bean的setApplicationContext()方法,将bean所在应用上下文引用传入进来。

  6. 如果Bean实现了BeanPostProcessor接口,Spring就将调用他们的postProcessBeforeInitialization()方法。

  7. 如果Bean 实现了InitializingBean接口,Spring将调用他们的afterPropertiesSet()方法。类似的,如果bean使用init-method声明了初始化方法,该方法也会被调用

  8. 如果Bean 实现了BeanPostProcessor接口,Spring就将调用他们的postProcessAfterInitialization()方法。

  9. 此时,Bean已经准备就绪,可以被应用程序使用了。他们将一直驻留在应用上下文中,直到应用上下文被销毁。

  10. 如果bean实现了DisposableBean接口,Spring将调用它的destory()接口方法,同样,如果bean使用了destory-method 声明销毁方法,该方法也会被调用。

 

https://mp.weixin.qq.com/s?__biz=MzI4Njc5NjM1NQ==&mid=2247488494&idx=1&sn=1ad8b2b4313b173b431a4e4943423f04&chksm=ebd62cc2dca1a5d4b434fe9913cc1ffbb42f61aac4d4364a38c8b15c1df524167336a2d4d6cb&mpshare=1&scene=1&srcid=0522WuGOqD3BIkRayLoe2MGH&key=e6cd5336efd7c7e0601f12856bb23a7e7ef17be935c3f5ff5f69e632443300546a0168e7d365ff1c82d1f07cc6afff50d91e1ba549c546d319c46a6ed3db6cda139d63f586e89c5822e2561237f1246a&ascene=0&uin=MTA2NzUxMDAyNQ%3D%3D&devicetype=iMac+MacBookAir6%2C2+OSX+OSX+10.10.5+build(14F2511)&version=11020012&lang=zh_CN&pass_ticket=pqWfj2jRrkKHdG8mcEVs%2FStkC%2BINKOeu4sxf4P1CU16%2BKBVAx0MBSPcwbOu1i%2FhQ

转载于:https://www.cnblogs.com/silyvin/p/11147824.html

 类似资料: