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

相关推荐
程序员小假31 分钟前
我们来说一下 b+ 树与 b 树的区别
java·后端
Meepo_haha1 小时前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
sheji34161 小时前
【开题答辩全过程】以 基于springboot的房屋租赁系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
木井巳1 小时前
【递归算法】子集
java·算法·leetcode·决策树·深度优先
Victor3562 小时前
MongoDB(57)如何优化MongoDB的查询性能?
后端
Victor3562 小时前
MongoDB(58)如何使用索引优化查询?
后端
行百里er2 小时前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·代码规范
码财小子2 小时前
聊聊 C++ 模块“注册式”的优雅姿势
后端·代码规范
ms_27_data_develop3 小时前
Java枚举类、异常、常用类
java·开发语言