@SpringBootApplication是spring boot最重要的一个注解,用于快捷配置启动类。
之前用户使用的是3个注解注解他们的main类。分别是@Configuration,@EnableAutoConfiguration,@ComponentScan。由于这些注解一般都是一起使用,spring boot提供了一个统一的注解@SpringBootApplication。
@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan。
- @SpringBootApplication
- public class ApplicationMain {
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
- }
- }
1、@Configuration:提到@Configuration就要提到他的搭档@Bean。使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。
- <beans>
- <bean id = "car" class="com.test.Car">
- <property name="wheel" ref = "wheel"></property>
- </bean>
- <bean id = "wheel" class="com.test.Wheel"></bean>
- </beans>
相当于:
- @Configuration
- public class Conf {
- @Bean
- public Car car() {
- Car car = new Car();
- car.setWheel(wheel());
- return car;
- }
- @Bean
- public Wheel wheel() {
- return new Wheel();
- }
- }
2、@EnableAutoConfiguration:能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。
3、@ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。