一文读懂SpringBoot读取application配置文件流程

自动装配与配置文件

Q:自动装配 是 如何与我们的配置文件相对应的?

上面提到,自动配置资源文件依赖于多个META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件

这个文件写了 所需要自动装配的类的全限定名

比如:

我们点进去,可以跳转到对应的类:

接下来,只需要按照 prefix 的规则,在我们的配置文件中写上相应的配置,便可以覆盖这里的默认值(基本类型默认值,null,或者,其他提供者手动指定的值)

配置文件:

除此以外,还有其他的引入方式,这里以Hikari为例:

Hikari配置:

那么,这个配置又是以什么方式被识别的?

与其他在自己的jar包有META-INF/%s.imports文件不同,Hikari的自动配置资源文件在spring-boot-autojar包下的import文件中:

我们点进去,可以跳转到对应的类:

可以看到有一个配置方法被@Configuration注解标注,并且通过@Import注解引入了DataSourceConfiguration.Hikari.class

进入DataSourceConfiguration.Hikari.class,可以看到:

相关推荐
码农阿豪25 分钟前
从零开始搭建高效文档管理系统Moredoc打造私人某度文库
java·coplar
代码驿站52026 分钟前
PHP语言的并发编程
开发语言·后端·golang
毕业设计-0128 分钟前
0042.大学校园生活信息平台+论文
java·spring boot·后端·毕业设计·源代码管理
老大白菜28 分钟前
第1章:Go语言入门
开发语言·后端·golang
DevOpsDojo31 分钟前
MATLAB语言的正则表达式
开发语言·后端·golang
等一场春雨1 小时前
Java 23 集合框架详解:ArrayList、LinkedList、Vector
java·开发语言
Hello Dam1 小时前
分布式环境下定时任务扫描时间段模板创建可预订时间段
java·定时任务·幂等性·redis管道·mysql流式查询
javaweiming1 小时前
根据中文名称首字母进行分组
java·汉字转拼音
桂月二二2 小时前
深入探索 Rust 中的异步编程:从基础到实际案例
开发语言·后端·rust
心之语歌6 小时前
Spring boot 项目 Spring 注入 代理 并支持 代理对象使用 @Autowired 去调用其他服务
spring boot·后端·spring