SpringBoot启动流程
SpringBoot
启动,其本质就是加载各种配置信息,然后初始化IOC容器并返回。
首先,在启动类执行SpringApplication.run
时,run
方法主要做两件事:
- 创建
SpringApplication
对象; - 执行
SpringApplication
对象的run
方法。
其次,创建SpringApplication
时,构造方法主要做三件事情:
- 确认web应用类型,一般是
Servlet
类型,Servlet
类型将来会启动一个tomcat
; - 从
spring.factories
配置文件中加载默认的ApplicationContextInitializer
和ApplicationListener
; - 记录当前的主启动类,将来用作包扫描。
最后,对象创建好了以后,调用SpringApplication
对象的run
方法,主要做四件事情:
- 准备
Enviroment
对象,它里面会封装一些当前应用运行环境的参数,如环境变量
等等; - 实例化容器,这里仅仅是创建
AppicationContext
对象; - 容器创建完成后会为容器做一些准备工作,如为容器设置
Enviroment
、BeanFactory
、BeanFactoryPostProccessor
,并加载主类对应的Definition
; - 刷新容器(refresh),在这里会创建真正的
Bean
实例。
SpringBoot
启动的核心就两部,创建SpringApplication
对象和执行run
方法,在run
方法中会真正的实例化容器,并创建容器中需要的Bean实例,最终返回。
最近更新:10/11/2024, 5:03:32 AM
原文链接:SpringBoot启动流程
上一篇:springboot2整合swagger2|下一篇:SpringBoot Bean的循环依赖