@SpringBootApplication
是 Spring Boot 应用的一个核心注解,它用于标记一个主程序类,使其成为 Spring Boot 应用的入口。这个注解实际上是一个组合注解,包含了以下三个主要注解:
-
@SpringBootConfiguration
: 这是一个专门的@Configuration
注解,表示这是一个 Spring 配置类。@Configuration
表示该类可以使用 Spring IoC 容器作为 bean 定义的来源。 -
@EnableAutoConfiguration
: 这个注解告诉 Spring Boot 根据应用所声明的依赖,猜测和配置需要的 bean。这样可以自动配置 Spring 应用的上下文,避免了大量的手动配置。 -
@ComponentScan
: 这个注解启用组件扫描,允许 Spring 查找并注册在当前包及其子包中定义的所有@Component
、@Service
、@Repository
和@Controller
等组件。
这些注解的组合使 @SpringBootApplication
成为配置和启动 Spring Boot 应用的一个便利工具。具体来说:
- 简化配置:通过自动配置和组件扫描,大大简化了 Spring 应用的配置工作。
- 便捷性:只需在主类上添加一个注解,就可以启动一个完整的 Spring 应用。
一个典型的 Spring Boot 主程序类如下所示:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class, args);
}
}
在这个例子中,@SpringBootApplication
注解使 MySpringBootApplication
成为启动 Spring Boot 应用的入口类。