Spring boot 启动流程
时间: 2023-11-01 19:56:19 浏览: 105
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 的启动流程。
相关问题
Spring Boot启动流程的面试题
Spring Boot启动流程是面试中经常被问到的问题之一,以下是简单的回答:
1. Spring Boot启动时,会先加载SpringApplication类,然后创建一个SpringApplication对象。
2. SpringApplication对象会从classpath中查找并加载所有符合条件的@Configuration配置类,并把它们作为Spring应用上下文的配置。
3. SpringApplication对象会创建一个Spring应用上下文,并把所有的@Configuration配置类注册到该上下文中。
4. SpringApplication对象会查找Spring应用上下文中所有的ApplicationRunner和CommandLineRunner接口的实现类,然后按照一定的顺序依次执行它们的run()方法。
5. SpringApplication对象会启动Spring应用上下文,并启动嵌入式的Tomcat服务器。
6. Spring Boot应用启动完成后,会打印出一些基本信息,如Tomcat端口号等。
这只是Spring Boot启动流程的一个简单描述,实际上还有很多细节和复杂性。在面试中,可以进一步探讨每个步骤的具体实现细节以及可能的问题和解决方案。
spring boot 启动流程面试题答案
Spring Boot启动流程可以大致分为以下几个步骤:
1. 加载并启动SpringApplication
SpringApplication类是Spring Boot的启动类,它会加载并启动Spring应用。它通过调用静态方法run(Class<?> primarySource, String... args)来启动应用,其中primarySource代表主配置类,args代表命令行参数。
2. 加载配置文件
在启动Spring应用之前,SpringApplication会加载配置文件,包括application.properties和application.yml等文件。这些配置文件中的属性将被解析并存储在Spring环境变量中,可以通过@Value注解或@ConfigurationProperties注解来访问它们。
3. 创建并启动Spring容器
在加载完配置文件后,SpringApplication会创建并启动Spring容器,该容器包含了所有的Spring Bean。Spring Boot会根据主配置类中的注解来扫描和装配Bean,比如@ComponentScan、@EnableAutoConfiguration和@Configuration等。
4. 运行Spring应用
一旦Spring容器启动成功,Spring Boot就会运行Spring应用。如果有Web应用,则会通过嵌入式Web服务器(如Tomcat、Jetty等)来启动Web应用。如果没有Web应用,则Spring Boot会执行一些其他的操作,并在最后退出应用。
总的来说,Spring Boot的启动流程可以概括为加载配置、创建Spring容器、装配Bean和运行应用。
阅读全文