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

springboot启动流程

springboot简化了spring框架的使用

springboot程序启动入口

在这里插入图片描述
在这里插入图片描述

  1. 创建SpringApplication对象
    判断web应用类型(Servlet)、设置初始化器、设置监听器
    在这里插入图片描述
  • getSpringFactoriesInstance方法中是利用spring spi机制找到传入的接口类型的实现者
  1. 执行run方法
  • 读取配置到Environment
    在这里插入图片描述
    读取配置信息加载到Environment中。在prepareEnvironment方法中,创建Environment对象后,通过spring事件机制将Environment实例发布出去,由各个监听器读取配置信息并放到Environment实例中
    在这里插入图片描述
    在这里插入图片描述
    发布ApplicationEnvironmentPreparedEvent事件
    在这里插入图片描述
    EnvironmentPostProcessorApplicationListener监听器(该监听器是上述创建SpringApplication对象时创建的)
    在这里插入图片描述
    该监听器会将Environment实例交给众多EnvironmentPostProcessor的实现者(这些实现者也是通过spring spi机制发现的)去处理。
    ConfigDataEnvironmentPostProcessor,它是EnvironmentPostProcessor的实现者之一,主要功能就是读取以下路径中的文件名为application,扩展名为yml或yaml的配置文件内容
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 创建context
    在这里插入图片描述在这里插入图片描述

  • 刷新context
    spring启动流程
    在这里插入图片描述

  • 触发listener和runner
    在这里插入图片描述


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

相关文章:

  • 【Linux】apt 关闭 ssl 认证
  • .NET6 WebApi第1讲:VSCode开发.NET项目、区别.NET5框架【两个框架启动流程详解】
  • Vscode 远程切换Python虚拟环境
  • LLM评测指标与评测方法
  • Android CPU核分配关联进程
  • 最优化方法_罚函数法例题
  • vue基于Spring Boot框架的高校实验室预约管理系统
  • 论文阅读:多模态医学图像融合方法的研究进展
  • golang rpc
  • TCP\IP标准与OSI标准
  • JS进阶 1——作用域、解构、箭头函数
  • 滚雪球学MySQL[3.2讲]:MySQL聚合函数与分组详解:COUNT、SUM、AVG、MAX、MIN及GROUP BY与HAVING
  • Qt 每日面试题 -5
  • 手机实时提取SIM卡打电话的信令声音-新的篇章(二、USB音频线初步探索)
  • XML与JSON的用法与区别
  • IP数据云—IP定位可以精准到什么程度?
  • 深度学习:(八)深层神经网络参数与流程
  • Win10系统插入带有麦克风的耳机_麦克风不起作用_解决方法_亲测成功---Windows运维工作笔记054
  • 面试题1-fail-safe机制与fail-fast 机制
  • 以太网开发基础-MAC和PHY
  • js设计模式(26)
  • GeoShp:shapefile转geojson支持nodejs和浏览器
  • 消息队列(MQ)深度探索:架构精髓、卓越优势与广泛应用
  • UE5 项目缓存文件删除、版本控制说明(工程目录结构)
  • 解决DHCP服务异常导致设备无法获取IP地址的方法
  • Thinkphp/Laravel基于vue的少数民族民歌网络图书馆管理系统