springboot的执行流程共分为几步?对每一步的流程进行简单的阐述.
时间: 2024-03-31 11:32:01 浏览: 21
Spring Boot 的执行流程可以大致分为以下五个步骤:
1. 加载配置文件和自动配置类
Spring Boot 应用启动时会加载 application.properties 或 application.yml 配置文件,并读取其中的配置信息。同时,Spring Boot 也会自动扫描项目中的依赖,加载自动配置类。
2. 创建 Spring 应用上下文
Spring Boot 会根据项目中的配置信息创建 Spring 应用上下文(ApplicationContext)。Spring 应用上下文是 Spring 框架中的核心容器,用于管理 Bean 对象的创建和生命周期。
3. 注册 Bean 对象
Spring Boot 会扫描项目中的所有组件,将其注册为 Bean 对象。注册过程中会考虑自动配置类中的配置信息,决定是否创建某些 Bean 对象。
4. 创建 Spring MVC 框架
如果 Spring Boot 项目中包含 Web 组件,那么在创建完 Bean 对象后,Spring Boot 还会为其创建 Spring MVC 框架。
5. 启动应用程序
最后一步是启动应用程序。Spring Boot 会根据启动类的配置信息,启动内嵌的 Tomcat 或 Jetty 服务器,将 Web 组件中的请求转发到相应的 Controller 中进行处理,并返回响应结果。
以上是 Spring Boot 的基本执行流程,当然实际应用中还可能会涉及到其他一些复杂的操作,如数据源的配置、事务管理等。
相关问题
详细描述SpringBoot执行流程?
SpringBoot整个启动流程可以分为以下几个步骤:
1. 初始化一个SpringApplication对象。
2. 通过SpringFactoriesLoader查找并加载所有的SpringApplicationRunListeners,通过调用starting()方法通知所有的SpringApplicationRunListeners:应用开始启动了。
3. 打印banner(可以自定义)。
4. 根据是否是web项目,来创建不同的ApplicationContext容器。
5. 创建一系列FailureAnalyzer,(拦截异常)。
6. 初始化ApplicationContext,将准备好的Environment(配置信息)设置给ApplicationContext。
7. 遍历调用所有的ApplicationContextInitializer的initialize()方法来对已经创建好的ApplicationContext进行进一步的处理。
8. 调用SpringApplicationRunListener的contextPrepared()方法,通知所有的监听者:ApplicationContext已经准备完毕。
9. 将所有的bean加载到容器中。
10. 调用SpringApplicationRunListener的contextLoaded()方法,通知所有的监听者:ApplicationContext已经装载完毕。
11. 执行该对象的run方法。
SpringBoot执行流程
SpringBoot的执行流程可以简要概括为以下几个步骤:
1. 创建并配置SpringApplication对象:SpringApplication是SpringBoot应用的核心类,负责启动应用并管理应用的生命周期。在这一步中,SpringApplication会加载应用的配置文件,并根据配置文件的内容进行相应的配置。
2. 执行SpringApplicationRunListeners:SpringApplicationRunListeners是SpringApplication的监听器,用于在应用启动前和启动后执行一些额外的逻辑。在这一步中,SpringApplication会依次调用所有注册的监听器的相应方法。
3. 执行ApplicationContextInitializer:ApplicationContextInitializer是Spring的初始化器,用于在应用启动前对ApplicationContext进行一些初始化操作。在这一步中,SpringApplication会依次调用所有注册的初始化器的相应方法。
4. 创建并刷新ApplicationContext:在这一步中,SpringApplication会根据应用的配置和初始化操作创建一个ApplicationContext对象,并对其进行刷新。ApplicationContext是Spring的核心容器,负责管理应用中的所有Bean。
5. 执行ApplicationRunner和CommandLineRunner:ApplicationRunner和CommandLineRunner是SpringBoot提供的接口,用于在应用启动后执行一些额外的逻辑。在这一步中,SpringApplication会依次调用所有注册的ApplicationRunner和CommandLineRunner的相应方法。
总结起来,SpringBoot的执行流程可以简单描述为:创建并配置SpringApplication对象 -> 执行SpringApplicationRunListeners -> 执行ApplicationContextInitializer -> 创建并刷新ApplicationContext -> 执行ApplicationRunner和CommandLineRunner。\[1\]\[2\]
#### 引用[.reference_title]
- *1* *2* [SpringBoot执行流程](https://blog.csdn.net/m0_67393686/article/details/124419727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [SpringBoot 启动类 @SpringBootApplication 注解 以及执行流程](https://blog.csdn.net/qq_28289405/article/details/81302498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)