对于最新的稳定版本,请使用 Spring Boot 3.4.0! |
使用 @SpringBootApplication 注释
许多 Spring Boot 开发人员喜欢他们的应用程序使用自动配置、组件扫描,并能够在他们的“应用程序类”上定义额外的配置。
单个 @SpringBootApplication
注释可用于启用这三个功能,即:
-
@ComponentScan
:在应用程序所在的软件包上启用@Component
扫描(请参阅最佳实践) -
@SpringBootConfiguration
:启用在上下文中注册额外的 bean 或导入额外的配置类。 Spring 标准@Configuration
的替代方案,有助于在集成测试中进行配置检测。
-
Java
-
Kotlin
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// Same as @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
// same as @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan
@SpringBootApplication
class MyApplication
fun main(args: Array<String>) {
runApplication<MyApplication>(*args)
}
@SpringBootApplication 还提供了别名来自定义 @EnableAutoConfiguration 和 @ComponentScan 的属性。 |
这些功能都不是必需的,您可以选择用它启用的任何功能替换此单个注释。 例如,您可能不想在应用程序中使用 component scan 或 configuration properties scan:
在此示例中,就像任何其他 Spring Boot 应用程序一样,不同之处在于不会自动检测 |