使用 @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
的属性。
这些功能都不是强制性的,您可以选择用它所启用的任何功能来替换这个单一注解。 例如,您可能不想在应用程序中使用组件扫描或配置属性扫描:
在这个例子中, |