Spring Boot 应用中,配置的加载优先级

在 Spring Boot 应用中,配置的加载优先级是一个重要的概念,它决定了当存在多个相同配置项时,哪个配置会被最终采用。 命令行参数、外部application.yml文件和 JAR 包内部配置的优先级顺序如下:

配置优先级顺序(从高到低)

命令行参数(最高优先级)

通过java -jar app.jar --key=value形式传递的参数

例如:java -jar myapp.jar --server.port=8081

外部配置文件(按以下顺序加载,后加载的覆盖先加载的)

命令行指定的配置文件(--spring.config.location=path/to/config.yml)

当前目录下的config/目录中的配置文件

当前目录中的配置文件

类路径下的config/目录中的配置文件

类路径根目录下的配置文件

JAR 包内部配置文件(最低优先级)

通常是src/main/resources目录下的配置文件

例如:application.yml、application.properties

具体到你的场景

当你启动 JAR 包时,配置的优先级顺序为:

命令行参数(通过--指定的参数)

外部 application.yml 文件(如果存在于当前目录或指定目录)

JAR 包内部的 application.yml 文件

示例说明

相关推荐
用户762352425912 分钟前
Kafka客户端消息流转流程
后端
橘子星3 分钟前
深入理解 AJAX 中的 JSON 序列化与 JS 异步处理
前端·javascript·后端
SimonKing3 分钟前
Qoder 提供免费 Qwen3.7-Max,无需订阅
java·后端·程序员
杨运交7 分钟前
[033][缓存模块]基于 Redisson 的租户隔离 Redis Key 前缀设计
spring boot
IT_陈寒32 分钟前
SpringBoot自动配置这么智能,为啥我写的Bean注入不了?
前端·人工智能·后端
vx-Biye_Design38 分钟前
springboot安阳地区研学旅游服务小程序-计算机毕业设计源码12785
java·vue.js·windows·spring boot·tomcat·maven·mybatis
Csvn1 小时前
日志管理与排查 — journalctl & 系统日志实战
后端
隔壁阿布都1 小时前
ShedLock 分布式定时任务锁框架介绍
spring boot·分布式
地瓜伯伯1 小时前
从MESI缓存一致性协议讲透synchronized的底层
java·spring boot·spring·spring cloud·微服务·springcloud
zhenlai20121 小时前
Vue3 + SpringBoot + AI:我做了一个股票分析工具(第1周复盘)
人工智能·spring boot·后端