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

news2025/1/10 23:50:18

阿丹-有话说:

        第二种多环境的配置选择解决方案,这个更加的灵活没在配置方面都选择了一种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中,这样就可以完成了。

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

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

相关文章

postman 之 接口请求

一、前言 1. 安装 2. 主界面 3. 请求区域 Body下主要包含以下4中格式 form-data:混合表单,支持上传文件x-www-form-urlencoded:文本表单raw:原始格式,支持JSON/XML格式(后面可选择)binary&am…

Mysql是怎么运行的(上)

文章目录 Mysql是怎么运行的Mysql处理一条语句的流程连接管理解析与优化存储引擎 基本配置配置文件系统变量状态变量字符集四种重要的字符集MySQL中的utf8和utf8mb4各级别的字符集和比较规则MySQL中字符集的转换排序规则产生的不同的排序结果 InnoDB存储引擎介绍COMPACT行格式介…

玉米浸泡液植酸吸附树脂

植酸为环己六醇六磷酸,分子量为660,植酸钠为环己六醇六磷酸钠(Na12C6H6O24P6)分子量为924。 植酸用途:在食品工业中植酸钠可用作食品添设剂,菲丁(植酸钙)可用于生产肌醇&#xff0c…

MySQL 从零开始:02 MySQL 安装

文章目录 1、下载 MySQL 安装程序2、安装 MySQL 要操作 MySQL ,首先要安装 MySQL ,本文将一步步展示如何安装 MySQL,简直详细到令人发指。 环境: 操作系统:Windows10 64位MySQL版本:社区版 8.0.11.0 1、下…

GB28181/GB35114平台LiveGBS何如添加白名单,使指定海康、大华、华为等GB28181摄像头或录像机设备可以免密接入

1、什么是GB/T28181级联 协议定义中的解释如下: 级联 cascadednetworking 两个信令安全路由网关之间按照上下级关系连接,上级中心信令控制服务器通过信令安全路由网 关可调用下级中心信令控制服务器所管辖的监控资源,下级中心信令控制服务器通过信令安全路由网 关向…

打包时,自动更新版本号,清空缓存

1.创建 addVersion.js 文件 let fs require(fs);function getPackageJson(){return JSON.parse(fs.readFileSync(./package.json)); } try{let packageJson getPackageJson();//把分割的数组项转成数字,不然拼接就是字符串拼接let arr packageJson.version.spl…

pyqt treeWidget树生成

生成treeWidget树与获取treeWidget树节点的数据 # encodingUTF-8 import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QTreeWidgetItem, QLineEdit, QSpinBox, QComboBox from PyQt5.QtWidgets import QWidget from release_test import Ui_F…

Visual Studio 新特性:对 include 指令进行智能诊断

今天,我们很高兴地宣布新功能:#include 语言智能诊断。 此功能自 Visual Studio 2022 v17.9 预览版2 中可用。通过此新功能,您可以获取到有关每个 include 的引用和生成时间的详细信息,从而更好地了解 #include 指令的行为。 &g…

pgsql中epoch用法

问题描述 提示:这里描述项目中遇到的问题: 昨天又被叫回来加班,説是数据问题,又回来加班搞,到了以后发现数据没问题,那就是查询接口的事了,写查询接口的人用时间戳去查询,明明直接可以直接用日期查询,非得改成时间戳查询,结果还是有问题,接下来复盘一下…

ffmpeg写YUV420文件碰到阶梯型横线或者条纹状画面的原因和解决办法

版权声明:本文为CSDN博主「文三~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/asdasfdgdhh/article/details/112831581 留作备份 阶梯型横线: 条纹状画面…

x-cmd pkg | grex - 用于生成正则表达的命令行工具

目录 简介首次用户生成的正则表达式与 perl 和 rust 兼容支持 Unicode 符号友好的用户体验进一步阅读 简介 grex 是一个旨在简化创作正则表达式的复杂且繁琐任务的库和命令行程序。这个项目最初是 Devon Govett 编写的 JavaScript 工具 regexgen 的 Rust 移植。但 regexgen 在…

智数融合|低代码入局,推动工业数字化转型走"深"向"实"

当下,“数字化、智能化”已经不再是新鲜词汇。事实上,早在几年前,就有企业开始大力推动数字化转型,并持续进行了一段时间。一些业内人士甚至认为,“如今的企业数字化已经走过了成熟期,进入了深水区。” 但事…

爱情视频相册怎么做?2.14情人节表白/活动视频模板PR剪辑素材

美好爱情故事,情人节表白视频相册怎么做?粉色浪漫的PR情人节表白/活动视频模板剪辑素材mogrt下载。 特征:可编辑文字和调整颜色,通过智能对象替换图像,RGB颜色模式,易于自定义,无需插件&#xf…

时间同步ntp与chrony的配置

时间同步命令,ntp性能不太强,chrony的性能好,默认安装;一般建议使用chrony 1.ntp date:查询当前具体时间 date -s 1 year:日期大小增加1年 nepdate ntp.aliyun.com:将日志同步到阿里云&…

【JaveWeb教程】(18) MySQL数据库开发之 MySQL数据库设计-DDL 如何查询、创建、使用、删除数据库数据表 详细代码示例讲解

目录 2. 数据库设计-DDL2.1 项目开发流程2.2 数据库操作2.2.1 查询数据库2.2.2 创建数据库2.2.3 使用数据库2.2.4 删除数据库 2.3 图形化工具2.3.1 介绍2.3.2 安装2.3.3 使用2.2.3.1 连接数据库2.2.3.2 操作数据库 2.3 表操作2.3.1 创建2.3.1.1 语法2.3.1.2 约束2.3.1.3 数据类…

CMake入门教程【高级篇】CPack打包项目Linux的deb和windows的msi

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 什么是CPack?2. 如何使用CPack?2.1 在CMakeLists.txt中包含CPack模块2.2 设置CPack变量2.3 创建分发包3.CPack命

TortoiseSVN·文件锁定与清理

安装 TortoiseSVN 的时候,选择 svn 命令可用, 选择 will be intalled on local hard drive 。 在锁定的文件夹内 cmd 进入终端,输入 find . -type f -name ".svn/lock" -exec rm -f {} \; 删除所有锁定文件。进行清理操作:svn clea…

Kubernetes - Helm 快速安装

一、最快安装——官网提供的脚本——默认获取最新版本 cd /usr/local/src/ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.shhelm search hub wordpresssource <(helm completion bas…

【Python机器学习】SVM——线性模型与非线性特征

SVM&#xff08;核支持向量机&#xff09;是一种监督学习模型&#xff0c;是可以推广到更复杂模型的扩展&#xff0c;这些模型无法被输入空间的超平面定义。 线模型在低维空间中可能非常受限&#xff0c;因为线和平面的灵活性有限&#xff0c;但是有一种方式可以让线性模型更加…

windows下安装oracle-win-64-11g超详细图文步骤

官方下载地址&#xff1a;点这里 1.根据自己电脑情况&#xff0c;解压64或者32位客户端&#xff0c;以及database压缩包 2.解压后双击执行database文件夹下的setup.exe 3.详细的安装步骤 &#xff08;1&#xff09;数据库安装 一、配置安全更新 电子邮件可写可不写&#xf…