【实用小技巧】如何不更新application.yml而更新spring的配置

news2025/2/6 19:07:54

大家都知道,我们在java工程中,常常在application.yml中有各种各样的运行时的配置,一般来说都是这样的结构:

a:
  b:
    c: {ENV_NAME}

这样,我们在部署应用时,就可以通过在不同的局点修改ENV_NAME的值,来达到修改配置的目的。

但是如果是本来没存在在applicatoin.yml里面的配置呢,比如此时我需要再a.b.c下面加一个a.b.d?

当然,最直接的办法就是修改application.yml,加上a.b.d,就像这样:

a:
  b:
    c: {ENV_NAME}
    d: {ENV_NAME2}

但是这样就有个问题,在当下容器化的时代,这就意味着我要更改镜像,镜像一改,那涉及到的流程就比改配置多多了,比如整体的验证、镜像上线的变更等。

那有没有不修改application.yml就能修改spring application配置的方法呢?

答案是有的,就是这个:

更改应用程序外部属性的位置

 默认情况下,来自不同来源的属性会按定义的顺序添加到 Spring 中(有关确切顺序,请参阅“Spring Boot 功能”部分中的“外部化配置”)。Environment

您还可以提供以下系统属性(或环境变量)来更改行为:

  • spring.config.name (SPRING_CONFIG_NAME):默认为文件名的根目录。application

  • spring.config.location (SPRING_CONFIG_LOCATION):要加载的文件(例如类路径资源或 URL)。 为本文档设置了单独的属性源,系统属性、环境变量或命令行可以重写该属性源。Environment

无论您在环境中设置了什么,Spring Boot 始终如上所述加载。 默认情况下,如果使用 YAML,则扩展名为“.yaml”和“.yml”的文件也会添加到列表中。application.properties

所以,当我们需要添加a.b.d这个配置时,直接在部署这个spring application的地方声明一个A_B_D的环境变量,并赋上对应的值就行

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2293921.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openRv1126 AI算法部署实战之——TensorFlow TFLite Pytorch ONNX等模型转换实战

Conda简介 查看当前系统的环境列表 conda env list base为基础环境 py3.6-rknn-1.7.3为模型转换环境,rknn-toolkit版本V1.7.3,python版本3.6 py3.6-tensorflow-2.5.0为tensorflow模型训练环境,tensorflow版本2.5.0,python版本…

java进阶1——JVM

java进阶——JVM 1、JVM概述 作用 Java 虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对 应平台上的机器码指令行,每一条 java 指令,java 虚拟机中都有详细定义,如怎么取操 作数&#xff0c…

基于深度学习的视觉检测小项目(十六) 用户管理界面的组态

分组和权限: 用户分为三个组,管理员、普通用户、访客。 • 管理员的权限和作业范围: 添加和删除用户、更改所有用户的信息(用户名、登录密码、所在分组等)、查看和备份以及复制数据库; • 普通用户的权限和…

Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)

目录 1.镜像名的组成 2.镜像操作相关命令 镜像常用命令总结: 1. docker images 2. docker rmi 3. docker pull 4. docker push 5. docker save 6. docker load 7. docker tag 8. docker build 9. docker history 10. docker inspect 11. docker prune…

《2025,AI重塑世界进行时》

开年爆点,AI 浪潮再掀高潮 2025 年开年,AI 领域便热闹非凡,热点事件不断,让人深刻感受到这股科技浪潮正以汹涌之势奔腾而来。先是深度求索公司(DeepSeek)的 DeepSeek - R1 模型横空出世,迅速在国…

visual studio安装

一、下载Visual Studio 访问Visual Studio官方网站。下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 在主页上找到并点击“下载 Visual Studio”按钮。 选择适合需求的版本,例如“Visual Studio Community”(免费版本)&#x…

VSCode中使用EmmyLua插件对Unity的tolua断点调试

一.VSCode中搜索安装EmmyLua插件 二.创建和编辑launch.json文件 初始的launch.json是这样的 手动编辑加上一段内容如下图所示: 三.启动调试模式,并选择附加的进程

一、tsp学习笔记——开发环境搭建

开发环境:window11 wsl ubuntu24.04 lypwslDESKTOP-39T8VTC:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.1 LTS Release: 24.04 Codename: noble工具安装 网络相关工具 sudo apt instal…

互联网行业常用12个数据分析指标和八大模型

本文目录 前言 一、互联网线上业务数据分析的12个指标 1. 用户数据(4个) (1) 存量(DAU/MAU) (2) 新增用户 (3) 健康程度(留存率) (4) 渠道来源 2. 用户行为数据(4个) (1) 次数/频率…

使用 Ollama 在 Windows 环境部署 DeepSeek 大模型实战指南

文章目录 前言Ollama核心特性 实战步骤安装 Ollama验证安装结果部署 DeepSeek 模型拉取模型启动模型 交互体验命令行对话调用 REST API 总结个人简介 前言 近年来,大语言模型(LLM)的应用逐渐成为技术热点,而 DeepSeek 作为国产开…

新春贺岁,共赴AGI之旅

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 往期精彩文章推荐 季姮教授独家文字版干货 | 面向知识渊博的大语言模型 关于AI TIME AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题…

C_位运算符及其在单片机寄存器的操作

C语言的位运算符用于直接操作二进制位,本篇简单结束各个位运算符的作业及其在操作寄存器的应用场景。 一、位运算符的简单说明 1、按位与运算符(&) 功能:按位与运算符对两个操作数的每一位执行与操作。如果两个对应的二进制…

Java面试题集合篇5:10道基础面试题

文章目录 前言41、多线程使用 ArrayList42、List 和 Set 区别43、HashSet 实现原理44、HashSet检查重复和保证数据不可重复45、BlockingQueue46、Map接口46.1、HashMap实现原理46.2、HashMap在JDK1.7和JDK1.8中不同点46.3、JDK1.7 VS JDK1.8 比较 47、HashMap的put方法流程48、…

汽车加气站操作工试题及答案​

1.天然气的主要成分是( )​ A. 乙烷 B. 乙烯 C. 甲烷 D. 乙炔​ 答案:C​ 2.加气站中,用来储存天然气的设备是( )​ A. 加气机 B. 压缩机 C. 储气井 D. 脱水装置​ 答案:C​ 3.以下哪…

企业四要素如何用PHP进行调用

一、什么是企业四要素? 企业四要素接口是在企业三要素(企业名称、统一社会信用代码、法定代表人姓名)的基础上,增加了一个关键要素,通常是企业注册号或企业银行账户信息。这种接口主要用于更全面的企业信息验证&#x…

【大数据技术】搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn)

搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn) jdk-8u361-linux-x64.tarhadoop-3.3.6.tar.gz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群Hadoop+MapReduce+Yarn的详细步骤。 注意: 统一约定将软件安装包存放…

【MySQL】MySQL经典面试题深度解析

文章目录 一、MySQL与C的深度结合1.1 为什么C项目需要MySQL?1.2 典型应用场景 二、基础概念面试题精讲2.1 存储引擎对比2.2 索引原理 三、C专项面试题解析3.1 连接池实现3.2 预处理语句3.3 批量操作优化 四、高级应用面试题剖析4.1 事务隔离级别4.2 锁机制详解4.3 查…

GitHub Copilot 越狱漏洞

研究人员发现了两种操控 GitHub 的人工智能(AI)编码助手 Copilot 的新方法,这使得人们能够绕过安全限制和订阅费用、训练恶意模型等。 第一种技巧是将聊天交互嵌入 Copilot 代码中,利用 AI 的问答能力,使其产生恶意输…

UE虚幻引擎No Google Play Store Key:No OBB found报错如何处理

UE虚幻引擎No Google Play Store Key:No OBB found报错如何处理? 问题描述: UE成功打包APK并安装过后,启动应用时提示: No Google Play Store KeyNo OBB found and no store key to try to download. Please setone …

吴恩达深度学习——卷积神经网络实例分析

内容来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习所用。 文章目录 LeNet-5AlexNetVGG-16ResNets残差块 1*1卷积 LeNet-5 输入层:输入为一张尺寸是 32 32 1 32321 32321的图像,其中 32 32 3232 3232是图像的长和宽&…