springboot学习——@SpringBootApplication与@EnableAutoConfiguration、@ComponentScan注解

@EnableAutoConfiguration:这个注解是是Springboot根据我们所引入的jar包自动配置的,假设我们有自己的配置类则会覆盖
—————————————————————————————————————————————————
@ComponentScan:是告诉springboot进行包扫描的(可以定义)
—————————————————————————————————————————————————
@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
—————————————————————————————————————————————————
@SpringBootApplication:注解等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan
—————————————————————————————————————————————————

官方文档是这么说的:
许多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的属性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章