@SpringBootApplication是Spring Boot框架中的一个注解,用于标记一个主类作为Spring Boot应用的入口。当使用这个注解时,Spring Boot会自动扫描该类所在的包以及子包下的所有组件(如Controller、Service、Repository等),并将它们注册到Spring容器中。同时,它还会启动嵌入式的Tomcat服务器,以便运行基于Spring Boot的应用。
@SpringBootApplication封装了三个注解:
@SpringBootApplication:
该注解标识在SpringBoot工程引导类上,是SpringBoot中最最重要的注解,该注解由三个部分组成:
- @SpringBootConfiguration:该注解与@Configuration注解作用相同,用来声明当前也是一个配置类;
- @ComponentScan:组件扫描,默认扫描当前引导类所在包及其子包;
- @EnableAutoConfiguration:SpringBoot实现自动化配置的核心注解;
@EnableAutoConfiguration导入了一个类 ==> 返回一个 String[] selectImports(...):
该数组包含了两个类:
spring.factories是老版本的配置文件(大概长这样):
org.springframework.boot.autoconfigure.AutoConfiguration.imports:
其中在配置类中包含这样一个配置文件:
该类是Spring Boot框架中的一个自动配置类,用于自动配置Gson库。当使用Spring Boot时,它会自动扫描并加载这个类,以便在项目中使用Gson库进行JSON数据的序列化和反序列化操作。
其中:SpringBoot会根据@Conditional注解条件装配:
传送门:@Conditional注解条件