当前位置: 首页 > news >正文

Spring IoC容器加载过程 vs Bean生命周期对应关系图

┌─────────────────────────────────────────────────────────────────────────────┐
│                Spring IoC 容器加载过程 (宏观流程)                            │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  1. 资源定位与加载 ───────┐                                                  │
│                         │ (Bean尚未诞生,容器在读"说明书")                   │
│  2. 解析与注册BeanDefinition │                                                 │
│                         │                                                   │
│  3. BeanFactoryPostProcessor处理 │                                            │
│                         │ (容器在修改"说明书")                              │
│  4. 实例化Bean ───────────┼─────────────────────────────────────────────────┤
│                         │                Bean的生命周期 (微观过程)           │
├─────────────────────────┼─────────────────────────────────────────────────┤
│                         │                                                  │
│  │   4.1 实例化         │──────→ 1. 构造器实例化 (Bean"诞生")               │
│  │                      │                                                  │
│  │   4.2 依赖注入        │──────→ 2. @Autowired/@Value/@Resource 属性注入    │
│  │                      │                                                  │
│  │   4.3 Aware接口回调   │──────→ 3. BeanNameAware, BeanFactoryAware等回调   │
│  │                      │                                                  │
│  │   4.4 BeanPostProcessor│────→ 4. postProcessBeforeInitialization         │
│  │      处理             │                                                  │
│  │                      │──────→ 5. @PostConstruct 注解方法执行           │
│  │                      │                                                  │
│  │                      │──────→ 6. InitializingBean.afterPropertiesSet()  │
│  │                      │                                                  │
│  │                      │──────→ 7. 自定义 init-method 执行                │
│  │                      │                                                  │
│  │                      │──────→ 8. postProcessAfterInitialization (AOP代理)│
│  │                      │                                                  │
│  5. Bean初始化完成,投入使用 │──────→ 9. Bean完全初始化,进入"运行中"状态        │
│                         │                                                  │
│  6. 容器运行期           │──────→ 10. Bean提供服务期                        │
│                         │                                                  │
│  7. 容器关闭,销毁Bean   │──────→ 11. @PreDestroy 注解方法执行               │
│                         │                                                  │
│                         │──────→ 12. DisposableBean.destroy() 执行         │
│                         │                                                  │
│                         │──────→ 13. 自定义 destroy-method 执行            │
└─────────────────────────┴─────────────────────────────────────────────────┘

关键对应关系说明

容器宏观阶段

Bean微观阶段

说明

​实例化Bean​​(第4步)

​完整创建周期​​(第1-8步)

这是最核心的对应关系:容器的"实例化Bean"阶段包含了Bean从诞生到可用的全部细致过程

Bean初始化完成

Bean进入运行状态

标志着单个Bean和整个容器都准备就绪

容器关闭

Bean销毁周期

容器关闭触发所有Bean的销毁流程

流程箭头图(展示执行顺序)

容器启动↓
资源定位 → 解析注册BeanDefinition → BeanFactoryPostProcessor处理↓
开始实例化Bean(进入微观生命周期)↓
构造器实例化 → 依赖注入 → Aware回调 → BeanPostProcessor.before↓
@PostConstruct → afterPropertiesSet → init-method↓
BeanPostProcessor.after(AOP代理在此生成)↓
Bean准备就绪 → 容器启动完成↓
[运行期] Bean提供服务↓
容器收到关闭信号↓
@PreDestroy → DisposableBean.destroy() → destroy-method↓
Bean完全销毁 → 容器关闭

http://www.dtcms.com/a/424589.html

相关文章:

  • 榆林电商网站建设app设计与开发公司
  • 吴江建网站优荐苏州聚尚网络网站群建设方案.doc
  • 动态规划实战
  • 专门教做衣服的网站互联网保险产品
  • 专业网站开发设计常州做网站设计
  • 中兴建设有限公司网站网站开发要怎么学
  • 网站备案 申请wordpress缓存头像
  • Figma 前端相关使用
  • 电商网站建设哪家公司好高级网站建设费用
  • MySQL笔记---基本查询
  • 珠宝网站建设方案网站建设gzzhixun
  • 秦皇岛建设网站公司个人免费网站建设模板
  • 五指山住房建设局网站wordpress 新浪微博登入
  • 网站备案准备资料wordpress手机底部联系插件
  • 网站建设有几大板块做关键字要改网站
  • 上海有名的网站建设公司有哪些wordpress 要加上
  • 辽宁网站备案要多久电子简历模板
  • 国产32位MO+内核MCU主频24MhzPY32F002B开发板
  • 仿qq网站程序温州市住房和城乡建设厅网站首页
  • LLM模型kv cache的估计和应用
  • 铁岭市网站建设公司重庆森林经典台词图片
  • 【开题答辩全过程】以 PHP茶叶同城配送网站的设计与实现为例,包含答辩的问题和答案
  • 自建站服务专业建网站设计公司
  • 做网站需要哪一些内容益阳建站网站制作
  • 前端开发工具都有哪些?常用前端开发工具清单与场景化推荐
  • Apifox新版本重磅升级!AI用例生成+多模块优化!
  • 深圳网站建设公司jm3q新网站备案查询
  • 智能锁网站建设关键词宜春专业的企业网站建设公司
  • 深入理解 SPI:从定义到 Spring Boot 实践
  • 麒麟区住房和城乡建设局网站桂林北站是高铁站吗