SpringBoot的启动流程 - 教程

SpringBoot整个启动都是通过main函数里的

SpringApplication.run 方式 所有要从这里说起

1.初始化一个SpringApplcation对象、并判断当前的应用是web应用还是说其他的一些应用

2.调用SpringApplication.run 方法 这一步做了很多事情

1)扫描配置文件,把一些配置文件还有环境变量什么的加载进来

2)注册一些监听器、监听应用的生命周期

3)初始化一个applicationcontext对象

4)加载Configuration自动配置类里面的那些bean

SpringBoot自动安装原理:

利用@EnableAutoConfiguration注解 会扫描类路径下的依赖

扫描对应的factories文件 并加载文件内的配置类(2.7之前)

2.7之后 会扫描spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports​ 里面的类 且不再是键值对形式

在配置类内部 用condition bean等方式把starter 包里面要用到的Bean加载进环境 就搞定了自动配备

5)完成单例bean的实例化 依赖注入 和初始化 aop

web容器 会加载一个内嵌的web服务器 注册servlet什么的就是6)如果

7)执行CommandlineRunner和ApplicationRunner接口里的方法

8)发布应用启动成功事件

@SpringApplication 涵盖

@SpringBootConfiguration:

@EnableAutoConfiguration:启动自动配置机制根据工程依赖加载响应的自动配置类

@ComponentScan:自动扫描当前包及子包下的组件

posted on 2025-09-24 14:53  slgkaifa  阅读(22)  评论(0)    收藏  举报

导航