java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot启动流程

springboot启动流程过程

作者:只俗不凡

Spring Boot 简化了 Spring 框架的使用,通过创建 `SpringApplication` 对象,判断应用类型并设置初始化器和监听器,在 `run` 方法中,读取配置并加载到 `Environment` 中,通过 Spring 事件机制和 `EnvironmentPostProcessor` 处理配置

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文