Spring boot相同配置属性优先级

news/2025/2/22 17:20:06/

在Spring Boot 中,可以通过 application.properties(或 application.yml)文件来配置应用的属性。此外,还可以通过使用命令行参数、操作系统环境变量和外部文件等方式覆盖 application.properties 中的属性值,例如使用 --spring.config.location 参数指定外部的配置文件。

对于 application.properties 和用户指定的配置文件,配置项相同时,优先级如下:

1. 命令行参数和操作系统环境变量的优先级最高,会覆盖其他的属性值。例如:

   java -jar myproject.jar --server.port=9090

   这里设置了 server.port 属性为 9090,会覆盖 application.properties 中配置的相同属性。

2. 在项目的外部文件中指定的配置文件优先于 application.properties,即当外部文件中和 application.properties 中同时存在相同的配置项时,以外部文件中的配置为准。例如:

   java -jar myproject.jar --spring.config.location=classpath:/custom/application.properties

   这里指定的配置文件路径为 classpath:/custom/application.properties,在此文件中指定的配置项将会覆盖 application.properties 中的相同配置项。

3. 配置文件中的属性值可以被环境变量所覆盖。此时,环境变量的名称需使用 SPRING_APPLICATION_JSON 作为前缀,并使用 JSON 格式来指定属性值。例如:

   export SPRING_APPLICATION_JSON='{"server.port":"9090"}'java -jar myproject.jar

 这里设置了 SPRING_APPLICATION_JSON 环境变量,将 server.port 属性设置为了 9090,会覆盖 application.properties 中配置的相同属性。

4. 在 application.properties 中配置的属性值优先级最低,也就是当其他方式均未指定相应的配置项时,会使用 application.properties 中指定的值。

注意:这里所说的“优先级”仅针对相同的配置项而言。对于不同的配置项,各自的优先级取决于其被读取的顺序以及使用的默认值等。


http://www.ppmy.cn/news/434406.html

相关文章

第21篇:WEB漏洞~文件上传~后端黑白名单绕过

目录 1. 正文1.1. 文件上传常见验证1.2. 简要上传表单代码分析解释 2. 示例-以Uploadlabs为例2.1. pass022.2. pass-32.3. pass-42.4. pass-52.5. pass-62.6. pass-72.7. pass-82.8. pass-92.9. pass-102.10. pass-112.11. pass-122.12. pass-13 1. 正文 1.1. 文件上传常见验证…

【深入理解Hadoop原理】Hadoop 参数配置 详解

Hadoop 参数配置 详解 一、常用端口 组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.address datanode服务端口,用于数据传输 HDFS DataNode 50075 dfs.datanode.http.address http服务的端口 HDFS DataNode 50475 dfs.dat…

Windows Server 2003 系统安全配置方法

一、系统的安装 1、按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面。 2、IIS6.0的安装 开始菜单—>控制面板—>添加或删除程序—>添加/删除Windows组件 应用程序 ———ASP.NET(可选&…

WEB学习 任务七 笔记

任务七:Web学习 内容: 1.查阅资料,掌握PHP类的一句话木马的基本形式与原理,并学会图片木马的简单制作(图片中嵌入一句话;一句话封装成假图片) 2.下载配置蚁剑(https://github.com/An…

Quartz任务调度

了解Quartz体系结构 Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念进行描述: ●Job:是一个接口,只有一个方法void execute…

Mac Flutter配置在AndroidStudio最新教程(完美避开各种大坑小坑)

Flutter官方介绍: 大致意思这么讲: Flutter是谷歌的移动应用SDK,用于在创纪录的时间内在iOS和Android上制作高质量的原生界面。Flutter与现有代码一起使用,被世界各地的开发人员和组织使用,并且是免费和开源的。 Flu…

Quartz任务调度

了解Quartz体系结构 Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念进行描述: ●Job:是一个接口,只有一个方法void execute…

金仓数据库KingbaseES数据库参考手册(服务器配置参数9. 错误报告和日志)

目录 9.1. 在哪里记录日志 9.2. 什么时候记录日志 9.3. 记录什么到日志 9.4. 使用 CSV 格式的日志输出 9.5. 进程标题 9.1. 在哪里记录日志 log_destination 属性 描述 类型 string 默认值 stderr 级别 SIGHUP---会话级 KingbaseES支持多种方法来记录服务…