Spring Boot的启动流程是什么?
时间: 2023-05-29 13:05:39 浏览: 84
Spring Boot的启动流程大致如下:
1. 加载Spring Boot的核心配置文件application.properties或application.yml。
2. 根据配置文件中的配置,创建Spring容器,并初始化容器中的各个Bean。
3. 扫描应用程序中的组件,例如@Controller、@Service、@Repository等注解的类,并注册到Spring容器中。
4. 查找并加载所有与Spring Boot自动配置相关的类,并将它们组装成一个自动配置类集合。
5. 根据自动配置类集合和应用程序的配置信息,创建并初始化Bean对象。如果存在自定义Bean,将自定义Bean和自动配置的Bean合并到一起。
6. 将所有的Bean定义注册到Spring容器中。
7. 调用各个Bean的初始化方法。
8. 启动Web服务器(例如Tomcat),监听HTTP请求。
9. 处理HTTP请求,将请求交给对应的处理器(Controller)处理。
10. 返回响应给客户端。
总的来说,Spring Boot的启动流程包括了配置加载、容器初始化、Bean加载、自动配置、Bean合并、Web服务器启动等多个步骤。
相关问题
Spring Boot启动流程的面试题
好的,下面是Spring Boot启动流程的相关面试题及答案:
1. Spring Boot的启动流程是什么?
答:Spring Boot 的启动流程主要包括加载配置、创建应用上下文、扫描注册Bean、刷新上下文、启动应用。
2. Spring Boot的启动类是什么?
答:Spring Boot的启动类是`SpringApplication`。
3. Spring Boot如何加载配置?
答:Spring Boot 会按照以下顺序加载配置文件:命令行参数、JAVA_OPTS环境变量、来自于项目根目录下的application.properties或application.yml文件、来自于项目根目录下的application-{profile}.properties或application-{profile}.yml文件、来自于Spring Boot JAR包内部的application.properties或application.yml文件、来自于Spring Boot JAR包内部的application-{profile}.properties或application-{profile}.yml文件。
4. Spring Boot如何创建应用上下文?
答:Spring Boot通过SpringApplication类的run方法,调用SpringApplicationRunListeners的starting()方法来创建应用上下文。
5. Spring Boot如何扫描注册Bean?
答:Spring Boot通过SpringApplication类的run方法,调用SpringApplicationRunListeners的contextPrepared()方法来扫描并注册Bean。
6. Spring Boot如何刷新上下文?
答:Spring Boot通过SpringApplication类的run方法,调用ConfigurableApplicationContext的refresh()方法来刷新上下文。
7. Spring Boot如何启动应用?
答:Spring Boot通过SpringApplication类的run方法,调用SpringApplicationRunListeners的started()方法来启动应用。
希望这些问题能够帮助你更好地理解Spring Boot的启动流程。
Spring boot 启动流程
Spring Boot 的启动流程可以概括为以下几个步骤:
1. 加载 Spring Boot 启动类:Spring Boot 启动时会加载我们编写的启动类,通常是带有 `@SpringBootApplication` 注解的类。
2. 加载 Spring 环境:Spring Boot 会根据配置文件中的属性,加载对应的 Spring 环境,包括配置文件、配置项、自动配置等。
3. 执行自动配置:Spring Boot 会根据应用程序的依赖和配置,自动配置应用程序所需要的组件,例如数据库、Web、安全等。
4. 启动 Spring 应用程序上下文:Spring Boot 会创建一个 Spring 应用程序上下文,加载所有的 Bean 定义和依赖,并且将它们组合在一起。
5. 启动 Web 服务器:如果应用程序是 Web 项目,Spring Boot 会启动嵌入式 Web 服务器,例如 Tomcat、Jetty 或 Undertow。
6. 运行应用程序:Spring Boot 启动后,应用程序会开始运行,并且接收来自外部的请求。
以上就是 Spring Boot 的启动流程。