SpringBoot启动类@SpringBootApplication注解

发布时间 2023-06-13 23:15:57作者: 有点儿意思

在springBoot的启动类中,提供了一个mai函数的程序入口,来启动加载SpringBoot程序,那么注解@SpringBootApplication,通过源码可以看到,它相当于@ComponentScan + @EnableAutoConfiguration + @SpringBootConfiguration。

通过@SpringBootConfiguration注解的源码得知,其配置了一个@Configuration注解,来声明这是一个配置类,经过spring扫描读取其中的配置信息。所以@SpringBootConfiguration是来声明当前类是SpringBoot应用的配置类。他的内部也被也被@Component注解修饰,因此它可以被自动扫描和加载。

通过@ComponentScan注解来指定spring要扫描的包路径。自动扫描指定包及加载子包的组件,并把他们注册到spring应用程序中。

通过@EnableAutoConfiguration注解,它启用了Spring Boot的自动配置机制,根据项目的依赖和配置来自动配置Spring应用程序。

总结:@SpringBootApplication注解简化了配置和启动Spring Boot应用程序的过程,通过整合@Configuration、@EnableAutoConfiguration和@ComponentScan注解,实现了自动配置、组件扫描和加载。其中,@EnableAutoConfiguration根据依赖和配置进行自动配置,@ComponentScan用于扫描并加载Spring组件,@SpringBootConfiguration标识启动类作为Spring Boot应用程序的配置类。