SpringBoot通常有一个名为*Application的入口类,入口类中有一个main方法,这个main方法就是一个标准的Java的应用的入口方法。
并且我们在这个类的上面会看到一个最标志性的注解:@SpringBootApplication
这个注解是最核心的注解。它是一个组合注解:
我们点击进去可以看到这个注解组合了:如下三个注解
当然有的SpringBoot版本也将其称为:@Configuration @EnableAutoConfiguration @ComponentScan 三个注解的组合,其实我们在上图中,继续点击进去查看@SpringBootConfiguration就知道了,原理是一样的。
其中:@EnableAutoConfiguration 让SpringBoot根据类路径中的jar包依赖为当前项目进行自动配置。
例如:添加了spring-boot-starter-web依赖,会自动添加Tomcat和Spring MVC的依赖,那么Spring Boot会对Tomcat和Spring MVC进行自动配置。
查看注解的源码,我们可以知道使用exclude方法来关闭特定的自动配置
例如:@SpringBootApplication(exclude ={DataSourceAutoConfiguration.class })