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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论