许多Spring Boot开发者总是使用@Configuration
、@EnableAutoConfiguration
和@ComponentScan
来注解他们的主类。由于这些注解经常地被一起使用(特别是当您遵循上述的最佳实践),所以Spring Boot提供了一个方便的替代注解@SpringBootApplication
。
@SpringBootApplication
注解相当于同时使用@Configuration
、@EnableAutoConfiguration
和@ComponentScan
及其默认属性:
package com.example.myproject;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@SpringBootApplication
还提供了别名来自定义@EnableAutoConfiguration
和@ComponentScan
的属性。