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

示例说明

相关推荐
你的人类朋友5 小时前
✨什么是SaaS?什么是多租户?
后端·架构·设计
M1A15 小时前
全球语言无障碍:Unicode标准解读与技术演进史
后端
无限大65 小时前
多数元素问题:从暴力美学到摩尔投票神仙解法
后端
无限大65 小时前
《计算机“十万个为什么”》之 面向对象 vs 面向过程:编程世界的积木与流水线
后端
洛可可白6 小时前
Spring Boot 应用结合 Knife4j 进行 API 分组授权管理配置
java·spring boot·后端
亲爱的非洲野猪6 小时前
ZooKeeper 深度实践:从原理到 Spring Boot 全栈落地
spring boot·zookeeper·java-zookeeper
Livingbody6 小时前
基于ERNIE-4.5-0.3B医疗领域大模型一站式分布式训练部署
后端
程序员爱钓鱼6 小时前
Go语言实战案例:使用sync.Mutex实现资源加锁
后端·go·trae
程序员爱钓鱼6 小时前
Go语言实战案例:使用context控制协程取消
后端·google·trae
Moment6 小时前
Node.js 这么多后端框架,我到底该用哪个?🫠🫠🫠
前端·后端·node.js