- SpringBoot启动时都做了什么
Spring Boot启动主要经历以下几个步骤:
1. 加载配置:Spring Boot启动时首先加载`META-INF/spring.factories`文件,这个文件指定了各个自动配置类的路径。
2. 扫描自动配置类:根据`spring.factories`中配置的自动配置类路径,Spring Boot会扫描这些自动配置类,并将它们实例化。
3. 条件判断:通过条件注解,如`@ConditionalOnClass`、`@ConditionalOnProperty`等,决定是否应用该自动配置类。
4. 自动配置:根据自动配置类中的代码逻辑,自动配置相应的组件,例如数据库连接池、Web服务器、日志等。
5. 注册组件:将自动配置的组件注册到Spring容器中,使其可以被应用程序使用。
6. 启动应用:执行应用程序的启动逻辑,包括初始化、加载数据、启动定时任务等。
通过使用`spring.factories`文件,Spring Boot实现了自动配置的功能,大大简化了应用程序的配置和开发过程。
最简回答:Spring Boot启动时会加载配置文件(如application.properties)并扫描自动配置类(通过`spring.factories`),根据条件判断(如`@ConditionalOnClass`、`@ConditionalOnProperty`)自动配置各个组件,将它们注册到Spring容器中。最后,启动应用程序,处理请求,响应用户。简而言之,Spring Boot启动时负责配置加载、自动装配和应用程序的启动。
- SpringBoot的核心注解是哪个?由哪些注解组成?
SpringBootApplication,由3个注解组成:
-
- @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
- @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能。
- @ComponentScan:Spring组件扫描。