Spring Boot配置文件优先级

1、bat文件启动java程序

复制代码
java -Dmmm=qqq -Dfile.encoding=UTF-8 -jar ruoyi-admin.jar --mmm=iii --lll=lll

2、配置类型

程序参数Program arguments : --mmm=iii 单个属性值,可以从String\[\] args读取到,放在jar包命令后面

VM参数VM options :一般以-D 、-X 或者-XX 开头,存在多个参数以空格隔开,如-Dmmm=qqq,必须放在-jar命令前面才能生效

环境变量Environment variables:在windows里面用户的环境变量和系统的环境变量读取数据,用户的环境变量优先级大于系统的环境变量

3、当配置属性为@Value类似的形式从Spring IOC容器中读取配置时

优先级

程序参数Program arguments>VM参数VM options>环境变量Environment variables>application-dev.yml>application.yml

程序参数和VM参数和环境变量和配置文件里面的配置不区分大小写,都可以读取到,且环境变量中小数点和下划线是等价的,可以被读到,但是程序参数和VM参数不行,不能被读取到

4、通过System.getProperty("fff")读取配置属性的时候

只有VM参数可以正常生效,程序参数、环境变量以及配置文件均不生效

相关推荐
犀利豆8 分钟前
Claude code tools 研究系列-开篇(AskUserQuestion)
后端
头发还在的女程序员35 分钟前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
CodeStats1 小时前
【Spring事务】Spring事务注解 @Transactional 完整体系:从 MySQL 隔离级别到 MyBatis 原理详解
java·spring·mybatis·事务·transactional
我命由我123452 小时前
Android 开发问题:为 PDFView 设置一个带有黑色边框的背景 drawable,但边框没有生效
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
颜酱3 小时前
06 | 把 meta_config 同步进 MySQL(生成阶段)
前端·人工智能·后端
都叫我大帅哥4 小时前
从Python到Java:为什么企业级Agent最终会选择Java?
java·ai编程
wanderist.4 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
IT_陈寒4 小时前
SpringBoot自动配置坑了我一周,原来问题这么蠢!
前端·人工智能·后端
iOS开发上架哦5 小时前
Android代码混淆与iOS加固技术详解
后端·ios
腻害兔5 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:IM 即时通讯模块,一个被低估的「全功能聊天系统」
java·前端·vue.js·产品经理·ai编程