@SpringbootApplication源码解析
这里重点的注释有3个
- @SpringBootConfiguration
- @EnableAutoConfiguration
- @ComponentScan

@SpringBootConfiguration
- 通过这段可以看出在这个注解上面又出现了@Configuration注解,这个注解的作用就是声明当前类是一个配置类,然后Spring会自动扫描到添加了@Configuration的类,并且读取其中的配置信息。
@ComponentScan
- 配置组件扫描的指令。提供了类似与 context:component-scan 标签的作用 通过basePackageClasses或者basePackages属性来指定要扫描的包。如果没有指定这些属性,那么将从声 明这个注解的类所在的包开始,扫描包及子包
- 而我们的@SpringBootApplication注解声明的类就是main函数所在的启动类,因此扫描的包是该类所在包及其子 包。因此,一般启动类会放在一个比较前的包目录中。
@EnableAutoConfiguration

- 第二级的注解 @EnableAutoConfiguration ,告诉SpringBoot基于你所添加的依赖,去“猜测”你想要如何配置 Spring。比如我们引入了 spring-boot-starter-web ,而这个启动器中帮我们添加了 tomcat 、 SpringMVC 的 依赖。此时自动配置就知道你是要开发一个web应用,所以就帮你完成了web及SpringMVC的默认配置了!
- 总结,SpringBoot内部对大量的第三方库进行了默认配置,我们引入对应库所需的依赖,那么默认配置就会生效
版权声明:本文为weixin_43878062原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。