使用 @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 的属性。 |
这些特性都不是强制性的,你可以选择用它启用的任一特定功能来替代这个单一注解。例如,你的应用可能不需要使用组件扫描或配置属性扫描
在此示例中, |