一文读懂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,可以看到:

相关推荐
冷yan~2 分钟前
GPT-5.2 深度技术解析:OpenAI 最强模型的架构与性能突破
java·gpt·ai·架构·ai编程
沐森8 分钟前
面向 Trait 编程 (Trait-Driven Design)
后端
Dwzun23 分钟前
基于SpringBoot+Vue的二手书籍交易平台系统【附源码+文档+部署视频+讲解)
java·vue.js·spring boot·后端·spring·计算机毕业设计
期待のcode27 分钟前
Wrapper体系中的condition参数
java·spring boot·后端·mybatis
雨中飘荡的记忆1 小时前
Spring状态机深度解析
java·后端·spring
BBB努力学习程序设计1 小时前
Java记录类(Records)与数据建模革命:从POJO到不可变数据的范式转变
java
月屯1 小时前
Pandoc 之--pdf-engine
java·开发语言·pdf
10km1 小时前
java: HashMap.merge 的 Null 值陷阱:为什么 Stream API 会抛出 NPE
java·stream·hashmap·merge
晨星3341 小时前
使用 IntelliJ IDEA 轻松连接 Java 与 MySQL 8 数据库
java·开发语言·数据库