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

示例说明

相关推荐
一线大码8 分钟前
Gradle 高级篇之构建多模块项目的方法
spring boot·gradle·intellij idea
一百天成为python专家11 分钟前
python库之jieba 库
开发语言·人工智能·python·深度学习·机器学习·pycharm·python3.11
MarkGosling1 小时前
【开源项目】网络诊断告别命令行!NetSonar:开源多协议网络诊断利器
运维·后端·自动化运维
congvee1 小时前
springboot 学习第1期 - 创建工程
spring boot
Codebee2 小时前
OneCode3.0 VFS分布式文件管理API速查手册
后端·架构·开源
_新一2 小时前
Go 调度器(二):一个线程的执行流程
后端
estarlee2 小时前
腾讯云轻量服务器创建镜像免费API接口教程
后端
风流 少年2 小时前
Cursor创建Spring Boot项目
java·spring boot·后端
毕设源码_钟学姐3 小时前
计算机毕业设计springboot宿舍管理信息系统 基于Spring Boot的高校宿舍管理平台设计与实现 Spring Boot框架下的宿舍管理系统开发
spring boot·后端·课程设计
军军君013 小时前
基于Springboot+UniApp+Ai实现模拟面试小工具二:后端项目搭建
前端·javascript·spring boot·spring·微信小程序·前端框架·集成学习