使用 @SpringBootApplication 注解
许多 Spring Boot 开发者喜欢他们的应用程序使用自动配置、组件扫描,并能够在他们的 "application class" 上定义额外的配置。
一个 @SpringBootApplication
注解就可以启用这三个功能,即:
-
@ComponentScan
:在应用程序所在的包上启用@Component
扫描(参见 最佳实践) -
@SpringBootConfiguration
:启用在上下文中注册额外的 beans 或导入额外的配置类。 这是 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 的属性。
|
这些功能都不是强制性的,你可以选择用它所启用的任何功能来替换这个单一注解。 例如,你可能不想在你的应用程序中使用组件扫描或配置属性扫描:
在这个例子中, |