springboot启动流程过程
springboot启动流程
springboot简化了spring框架的使用
springboot程序启动入口


1.创建SpringApplication对象
判断web应用类型(Servlet)、设置初始化器、设置监听器

getSpringFactoriesInstance方法中是利用spring spi机制找到传入的接口类型的实现者
2.执行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

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
MyBatis-Plus updateById方法更新不了空字符串/null的问题及解决
MyBatis-Plus的updateById()方法在更新字段为null时会失败,因为默认策略不更新null值,文章提供三种解决方案:全局配置忽略判断、使用PO对象的el属性指定jdbcType、通过注解设置字段验证策略为IGNORED2026-03-03


最新评论