SpringBoot自动配置原理
pom依赖配置文件中spring-boot-dependencies核心依赖在父工程中spring-boot-starter-parent,我们在引入一些依赖时不需要写版本号,因为在父项依赖的仓库中已经定义好了
pom依赖配置文件中spring-boot-starter-xxx是场景依赖的启动器,根据场景引入相应的依赖,自动配置类就会生效,将组件加入到容器中,就有了相应的功能
工作原理:
spring-boot自动加载了所有的使用场景,所有的自动配置都是在项目启动时扫描并加载spring.factories所有的自动配置类(xxxAutoConfiguration),但不是全部生效,而是按需开启,在pom依赖配置文件中引入spring-boot-starter-xxx场景依赖的启动器,相关的自动配置类就会生效。
最佳实践:
1.根据开发需要引入相关的场景依赖spring-boot-starter-xxx
可以从官网找:spring-boot-starter-xxx
2.根据开发需要修改默认配置在application.yml或application.properties中
可以从官网找 properties.core
或者自己点击源码分析:找@EnableAutoConfiguration下的自动配置类点击进去找绑定配置文件的前缀prefix里的内容,就可以在application.yml或application.properties中修改默认配置了。