在springBoot项目中有一个<parent>的标签,其中的项目名为spring-boot-starter-parent,所有的版本依赖都是来源于这里的。
我们在需要引入springboot-stater-xxx时不需要引入版本就是在父项目中已经把版本都管理好了。
启动器:
如果我们要使用什么功能,只需要找到对应的stater即可。
1、注解 @SpringbootApplication的作用
①标志这个类是一个springboot的应用
②点开@SpringbootApplication这个注解我们会发现
@SpringBootConfiguration
@Configuration
@Component -->本质上还是一个spring的组件。
@EnableAutoConfuguration -->启用自动配置
@AutoConfigurationPackage -->自动配置包
@Import({Registrar.class}) -->导入注册器
@Import({AutoConfigurationImportSelector.class}) -->自动配置导入选择器
这个META-INF/spring.factories是自动装配的核心文件
结论:SpringBoot所有的配置都是在启动的时候扫描并加载的,它会去循环出META-INF/spring.factories下的所有配置类,
然后封装成properties供我们使用,这样的话自动装配就算完成了,但是并不是所有的配置类都可以生效,需要有
一个前提,那就是你必须要有相应的stater,那么与之对应的配置类才会生效,那么才算配置成功。
原文:https://www.cnblogs.com/gcdlj/p/12776556.html