当前位置: 首页 > news >正文

SpringBoot-配置优先级

一.配置文件优先级

在java中我们可以通过多种配置文件格式来配置所需要的属性,我们以配置tomcat服务器运行的端口号server.port为例,已知配置文件的格式有properties,yml,yaml三种。如果这三种文件同时存在,那么哪一种先生效呢?它们生效的顺序又是什么样呢?

我们首先来执行以下springboot项目,看看tomcat端口号是多少。

当三个都存在时,生效的是8081,也就是说首先是properties先生效。将properties注释掉,再次运行,生效的是8082。即次优先是yml。最后是yaml。

 二.配置java系统属性配置和命令行参数的优先级

我们现在配置好后将配置文件注释掉,看看Java系统属性和命令行参数哪个先生效。 可以看到命令行参数先生效,去掉命令行参数,java系统属性生效。

这是在idea中,如果项目打包上线了,我们如何配置java系统属性和命令行参数呢?

 我们打包后运行jar包,在java后设置java系统属性,在最后设置命令行参数。不知道使用什么指令执行,输入java,帮助文档会告诉你。

不指定,默认8080 

都设置,命令行参数生效

 删掉命令行参数,java系统属性生效

三. 配置文件和java系统属性和命令行参数的优先级

我们将配置文件和java系统属性都配置好,看看谁先生效。

运行后是9000,那么是java系统属性先生效,而命令行参数的优先级又大于java系统属性,因此总的优先级顺序为:

命令行参数>java系统属性>properties>yml>yaml

相关文章:

  • vue中computed方法使用;computed返回函数
  • (新版本onenet)stm32+esp8266/01s mqtt连接onenet上报温湿度和远程控制(含小程序)
  • CST的UAV无人机RCS --- A求解器 - 一维距离像(HRRP)和正弦图(Sinogram)
  • 01背包之---应用篇
  • JS 获取星期几
  • 基于AI人工智能UI自动化测试工具:Midscene
  • A*算法超级详细讲解
  • 文档识别-C#中英文文档识别接口-PDF文件内容识别API
  • c++初阶--Stack,Queue和PriorityQueue的实现
  • 大话西游2经典再续前缘单机版|无需虚拟机|操作简单+GM管理+可修改仙玉
  • 设计模式--spring中用到的设计模式
  • unity学习56:旧版legacy和新版TMP文本输入框 InputField学习
  • JAVA+MySQL实现分库分表及设计思路
  • 数据结构-直接插入和希尔排序
  • 生成SQL的模型与工具
  • netcore入门案例:netcore api连接mysql的完整记事本接口示例
  • 玄机-第二章 日志分析-mysql应急响应的测试报告
  • JWT+redis实现令牌刷新优化方案
  • STM32内存五区及堆栈空间大小设置(启动文件浅析)
  • yolov8乱改版(使用最新源码版本ultralytics-8.3.80——该项目库集成了yolov12)
  • 网站空间续费一年多少钱/湖南关键词优化快速
  • 建设一个导航网站/全网推广软件
  • 注册外贸网站有哪些问题/百度搜索热词排行榜
  • 西安网站优化维护/优化网站界面的工具
  • 公众号里的功能怎么开发/网站优化seo方案
  • 像网站的ppt怎么做的/德国搜索引擎