截图来源 :核心特性 (springdoc.cn)
@SpringBootApplication?
你在一个类上使用 @SpringBootApplication 注解时,你实际上是在指示Spring Boot在这个类所在包及其子包中寻找其他组件,并且开启自动配置功能,使得整个应用程序能够快速地启动和运行。
在Java Spring Boot框架中,@SpringBootApplication 是一个组合注解,它整合了三个核心注解的特性,用于简化Spring Boot应用的配置和启动过程。具体包含以下三个注解:
@SpringBootConfiguration:
这个注解表明该类是一个Spring配置类,相当于同时具有 @Configuration 注解。
@Configuration 表示此类的作用是定义Bean的创建,并允许通过类级别的方法来声明@Bean对象。
@EnableAutoConfiguration:
这个注解启用自动配置功能,Spring Boot会根据项目中所依赖的jar包和类路径中的资源(如类、属性文件等)来自动生成并配置Bean。
自动配置的目标是减少或消除大部分手动XML配置,使得应用可以“开箱即用”。
@ComponentScan:
该注解用于组件扫描,告诉Spring框架应该从哪个包及其子包开始扫描带有特定注解(如@Component, @Service, @Repository, @Controller等)的类,并将它们作为Bean注册到Spring容器中。
默认情况下,它会扫描当前类所在的包以及其子包。
你在一个类上使用 @SpringBootApplication 注解时,你实际上是在指示Spring Boot在这个类所在包及其子包中寻找其他组件,并且开启自动配置功能,使得整个应用程序能够快速地启动和运行。
通常这个注解会被放置在主入口类(即包含 main 方法的应用启动类)上。