一 什么是@SpringBootApplication注解
@SprintBootApplication是Spring Boot的核心注解,主要目的是开启自动配置,打开@SpringBootApplication注解的源码,我们不难发现它是一个组合注解,所以不能具体说它是什么?只能说它只是一个组合注解而已
@SpringBootApplication注解是一个组合注解,它包括了3个其他注解:
1 @SpringBootConfiguration:
将该类声明为配置类。
尽管这个类⽬前还没有太多的配置,但是后续我们可以按需添加基于Java的Spring框架配置。这个注解实际上是@Configuration注解的特殊形式。
@SpringBootConfiguration注解继承自@Configuration,二者功能基本一致,标注当前类是配置类,除此之外,会在当前类内声明一个或多个以@Bean注解标记的方法实例纳入到Spring容器中。并且实例方法就是方法名。
2 . @EnableAutoConfiguration:
启⽤Spring Boot的⾃动配置。这个注解会告诉Spring Boot⾃动配置它认为我们会⽤到的组件。
自动配置注解 , 添加了此注解会自动去读取spring.factories配置文件中的自动配置类
3 .@ComponentScan:
启⽤组件扫描。这样我们能够通过像@Component、@Controller、@Service这样的注解声明其他类,Spring会⾃动发现它们并将它们注册为Spring应⽤上下⽂中的组件
作用
1、告诉Spring那个package的用注解标识的类会被Spring自动扫描并切装入IoC容器中。2、自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义,最终将这些Bean加载到IoC容器中。例如:如果有个类使用了@Controller注解标识;那么如果不加上@ComponentScan,进行自动扫描改controller,那么该Controller就不会被Spring扫描到,更不会装入Sprint容器中,因此@Controller注解也没有任何意义。