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

示例说明

相关推荐
GoGeekBaird30 分钟前
我最近在写 BeeWeave,想把 Agent 用过的上下文留住
后端·github·ai编程
醇氧35 分钟前
Spring 容器 Map 注入机制详解
java·后端·spring
梨子同志37 分钟前
MyBatis-Plus
后端
doiito1 小时前
微服务资源优化新思路:Sablier + Podman 实现按需启动与自动休眠
后端·微服务·性能优化
接着奏乐接着舞。1 小时前
【2026年7月最新】69道RAG面试题
前端·人工智能·后端·aigc·embedding·rag
edwarddamon1 小时前
Spring Cloud Gateway 全链路 traceId 传递方案
后端
神奇小汤圆1 小时前
我们如何在 Elasticsearch 上构建一个持久 agent 记忆层,实现 0.89 召回率和零租户泄漏
后端
掘金一周1 小时前
裁员了,公司很爽快,赔偿一分没少 | 沸点周刊 7.8
前端·人工智能·后端
神奇小汤圆2 小时前
MySQL 5.7 频繁被 Systemd 杀死:一次惊心动魄的故障排查之旅
后端