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 文件

示例说明

相关推荐
Boop_wu14 小时前
Spring生态
java·后端·spring
jzheng861014 小时前
Spring Boot(快速上手)
java·spring boot·后端
wgslucky14 小时前
SpringBoot解决Request和Response的内容多次读取的问题
java·spring boot·多次读取request数据
怒放吧德德14 小时前
Python3基础:基础实战巩固,从“会用”到“活用”
后端·python
不倒翁玩偶15 小时前
IDEA导入新的SpringBoot项目没有启动按钮
java·spring boot·intellij-idea
苏三说技术15 小时前
xxl-job 和 elastic-job,哪个更好?
后端
三小河15 小时前
Agent Skill与Rules的区别——以Cursor为例
前端·javascript·后端
三小河15 小时前
前端视角详解 Agent Skill
前端·javascript·后端
牛奔16 小时前
Go 是如何做抢占式调度的?
开发语言·后端·golang
颜酱16 小时前
二叉树遍历思维实战
javascript·后端·算法