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

SpringBoot 核心总结图

SpringBoot 启动流程

在这里插入图片描述

SpringBoot 的启动流程主要有以下几个核心步骤:

在这里插入图片描述

SpringBoot 生命周期

在这里插入图片描述

SpringBoot 生命周期的每个阶段都会发布相应的事件:
在这里插入图片描述

在 SpringBoot 3.0.0 前,ready 阶段是 running,现在 running 已被废弃。

如果 SpringBoot 生命周期的正常阶段发生异常,会进入失败阶段并发布 ApplicationFailedEvent 事件。

Bean 生产过程

Bean 的生产大致有 4 个核心步骤:
在这里插入图片描述

1、BeanDefinitionLoader 加载 XML 文件或注解中定义的内容;
2、BeanDefinitionLoader 将加载的内容转换成 BeanDefinition;
3、BeanDefinitionRegistry 将 BeanDefinition 注册到 BeanFactory 中;
4、BeanFactory 负责将 BeanDefinition 生成 Bean;

BeanDefinitionLoader

在这里插入图片描述

BeanDefinitionLoader 依靠以下几个类完成加载并解析 BeanDefinition:

1、 AnnotatedBeanDefinitionReader:负责解析注解;
2、 AbstractBeanDefinitionReader:负责解析 XML 文件;
3、BeanDefinitionReader:负责解析 Groovy 文件;
4、ClassPathBeanDefinitionScanner:扫描指定类路径;

Bean 生命周期

在这里插入图片描述

Bean 生命周期的 5 个阶段:

1、实例化阶段:实例化 Bean;
2、填充属性阶段(可能发生循环依赖):对 Bean 的实例化对象进行属性填充;
3、初始化阶段(核心操作):负责初始化 Bean,执行一些预定义的方法;
4、使用阶段:开发者使用;
5、销毁阶段:执行一些预定义的销毁方法;

Bean 与循环依赖

在这里插入图片描述

在 Spring 中,若创建 Bean 发生解决循环依赖会通过三级缓存解决。

1、singletonObjects(一级缓存):存放 完整 的 Bean 对象;
2、earlysingletonObjects(二级缓存):存放 Bean 的 早期(early)对象;
3、singletonFactories(三级缓存):存放 Bean 的 工厂(Factory)对象;


http://www.kler.cn/a/551148.html

相关文章:

  • HarmonyNext上传用户相册图片到服务器
  • Spreadjs与GcExcel
  • 迅为RK3568开发板篇Openharmony配置HDF控制UART-什么是串口
  • Docker+DockerCompose+Harbor安装
  • DeepSeek R1本地部署 DeepSeek Api接口调用 java go版本
  • DFS算法篇:理解递归,熟悉递归,成为递归
  • 腿足机器人之二- 运动控制概览
  • SSH 登录到 Linux 服务器为什么没有要求输入密码
  • 详解Redis在Centos上的安装
  • MySQL索引和其底层数据结构介绍
  • 国产编辑器EverEdit - 如虎添翼的功能:快速选择
  • AutoGPT:突破性人工智能工具,赋能自动化写作与任务执行的未来
  • 用于可靠工业通信的5G-TSN集成原型:基于帧复制与消除可靠性的研究
  • 基于Springboot+Vue前后端分离的农场投入品运营线上管理系统设计与实现+万字文档+指导搭建视频
  • Logo语言的图形用户界面
  • Linux:expr命令、测试条件表达式、正则表达式入门教程
  • day9手机创意软件
  • 【Linux】动静态库的制作与原理
  • Deepseek-R1推理模型API接入调用指南 ChatGPT Web Midjourney Proxy 开源项目接入Deepseek教程
  • matlab 三维时频图绘制