Spring Boot 的启动流程如下:
1. 加载主配置类:Spring Boot 应用程序的入口点是一个带有`@SpringBootApplication`
注解的主配置类。Spring Boot 会通过该注解自动扫描并加载主配置类。
2. 创建 Spring ApplicationContext:Spring Boot 会根据类路径中的内容自动推断出应
用程序的配置方式。通过主配置类创建一个 Spring ApplicationContext(这里一般是
AnnotationConfigApplicationContext),并加载所有的 Bean 定义。
3. 执行 Spring Boot 的自动配置:根据应用程序中引入的依赖和配置,Spring Boot 会
自动配置应用程序的一些常见功能,包括数据源、Web MVC、安全性等。这些自动配
置是通过条件注解来实现的,在满足特定条件时将自动配置相应的功能。
4. 运行应用程序:Spring Boot 会启动嵌入式的 Web 服务器(如 Tomcat 或 Jetty),启
动对外提供服务。如果是非 Web 应用程序,Spring Boot 会根据配置执行相应的程序
逻辑。
5. 应用程序的生命周期:Spring Boot 提供了一些特定的事件和钩子,允许应用程序可
以在不同的生命周期阶段进行自定义操作。例如,可以通过实现 ApplicationRunner 或
CommandLineRunner 接口,在应用启动完成后执行特定的业务逻辑。
需要注意的是,Spring Boot 是基于 Spring 框架的,所以它继承了 Spring 的一些特性
和机制。但相较于传统的 Spring 应用程序,Spring Boot 极大地简化了配置和部署的流
程,使开发者能够更快地构建和启动应用程序。Spring Boot 的启动流程如下:
1. 加载主配置类:Spring Boot 应用程序的入口点是一个带有`@SpringBootApplication`
注解的主配置类。Spring Boot 会通过该注解自动扫描并加载主配置类。
2. 创建 Spring ApplicationContext:Spring Boot 会根据类路径中的内容自动推断出应
用程序的配置方式。通过主配置类创建一个 Spring ApplicationContext(这里一般是
AnnotationConfigApplicationContext),并加载所有的 Bean 定义。