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

Springboot通过profiles切换不同环境使用的配置

文章目录

  • 简介
  • 1.通过分隔符隔离
  • 2.通过使用不同的配置文件区分
  • 3.测试

简介

一个项目从开发到上线一般要经过几个环境, dev测试环境-uat预生产环境-prod生产环境,每个环境的使用的数据库或者配置不同,这时候可以通过下面两种方式区分配置,达到快速切换的效果。

1.通过分隔符隔离

  • 1.在application.yml配置文件中可以通过 - - - 分隔不同环境的配置
  • 2.在隔离的配置中通过spring.profiles定义当前这段配置的环境名称,下面定义了dev和prod两个环境
spring:profiles:#选择指定的环境active: dev#-------------  dev配置  ---------------
---
spring:profiles: devversion: 1.0.1#-------------  prod配置  ---------------
---
spring:profiles: prodversion: 1.0.0

2.通过使用不同的配置文件区分

文件名的定义规则是: application-xxx.yml , xxx表示环境名称,为了兼容上面的分割符定义的两个环境,这里也创建了dev和prod两个环境的配置文件,两种方式可以混合使用,建议配置项多的时候还是用配置文件区分开。
在这里插入图片描述
只定义了一个spring.application.name属性,prod环境名称为test-prod,dev环境名称为test-dev
在这里插入图片描述

3.测试

@RestController
public class TestController {@Value("${spring.application.name}")public String appName;@Value("${version}")public String version;@GetMappingpublic String test() {return "appName="+appName+" , version="+version;}}

在这里插入图片描述
修改配置文件spring.profiles.active=prod再进行测试可以看到两种配置都生效了。
在这里插入图片描述

在这里插入图片描述

线上配置
在线上运行jar包的时候可以通过 --spring.profiles.active传入动态参数覆盖配置文件里的选项

java -jar xxx.jar --spring.profiles.active=prod

相关文章:

Springboot通过profiles切换不同环境使用的配置

文章目录 简介1.通过分隔符隔离2.通过使用不同的配置文件区分3.测试 简介 一个项目从开发到上线一般要经过几个环境, dev测试环境-uat预生产环境-prod生产环境,每个环境的使用的数据库或者配置不同,这时候可以通过下面两种方式区分配置,达到快速切换的效…...

SpringBoot入门到精通-Spring Boot Jasypt Encrypt 演示

这是 spring boot 应用程序,展示了如何使用 Jasypt 加密值。 关于Jasypt Jasypt 为您提供简单的单向(摘要)和双向加密技术。开放 API,可与任何 JCE 提供程序一起使用,而不仅仅是默认的 Java VM 提供程序。Jasypt 可以很容易地与 Bouncy Castle 等知名提供商一起使用。了解…...

整数的阶乘(英语:factorial)是所有小于及等于

整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,0的阶乘为1。即:n!123...n。 实例 #!/usr/bin/python3 # Filename : test.py # author by : www.dida100.com # 通过用户输入数字计算阶乘 # 获…...

音视频通信

文章目录 一、音视频通信流程二、流媒体协议1、RTSP2、RTMP3、HLS4、WebRTC 一、音视频通信流程 音视频通信完整流程有如下几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等。 每一个细分环节,还有更细分的技术模块。比如,前后处…...

docker 搭建gitlab 恢复和备份

最近一直在折腾gitlab 代码管理系统 采用docker搭建 镜像网址 https://hub.docker.com/ 技术交流 http://idea.coderyj.com/ 1.因为我要恢复的版本是12.0.9的所有我就下载了docker-ce的12.0.9的镜像 1.下载镜像 docker pull gitlab/gitlab-ce:12.0.9-ce.02.安装 docker run …...

尚硅谷2023版Promise教程从入门到实战(讲师:任安萍)

一、前言:为什么会出现Promise? Promise的重要性我认为没有必要多讲,概括起来说就是五个字:必!须!得!掌!握!。 而且还要掌握透彻,在实际的使用中,有非常多…...

【SpringBoot】分组校验和自定义校验

分组检验 参数校验时,我们希望不同的方法参数校验规则不同,这时就需要分组校验。 public class Category {NotNull(groups Update.class)private Integer id;//主键IDNotEmptyprivate String categoryName;//分类名称// NotEmpty(groups {Add.class,…...

19、BLIP-2

简介 github 通过利用预训练的视觉模型和语言模型来提升多模态效果和降低训练成本,预训练的视觉模型能够提供高质量的视觉表征,预训练的语言模型则提供了强大的语言生成能力。 实现过程 为了弥合模态差距,提出了一个分两个阶段预训练的 Qu…...

【微服务核心】MyBatis Plus

文章目录 1. 简介2. 入门使用3. 核心功能3.1 CRUD 接口3.1.1 Mapper CRUD 接口3.1.2 Service CRUD 接口 3.2 条件构造器3.3 分页插件3.4 Mybatis-Plus 注解 4. 拓展4.1 逻辑删除4.2 MybatisX快速开发插件 5. 插件5.1 [分页插件](#page)5.2 乐观锁插件 1. 简介 MyBatis Plus&am…...

什么是Alibaba Cloud Linux?完全兼容CentOS,详细介绍

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…...

Spark---RDD算子(单值类型Value)

文章目录 1.RDD算子介绍2.转换算子2.1 Value类型2.1.1 map2.1.2 mapPartitions2.1.3 mapPartitionsWithIndex2.1.4 flatMap2.1.5 glom2.1.6 groupBy2.1.7 filter2.1.8 sample2.1.9 distinct2.1.10 coalesce2.1.11 repartition2.1.12 sortBy 1.RDD算子介绍 RDD算子是用于对RDD进…...

数据库中的MVCC--多版本并发控制

一、前言 1、定义:MVCC(Multi-Version Concurrency Control),多版本并发控制,主要为了提高数据库 的并发性能。是MySQL的InnoDB存储引擎实现隔离级别的一种具体方式。用于实现提交读和可重 复读这两种隔离级别。 2…...

wps将姓名处理格式为:姓**

1.打开wps,在要处理数据右侧一个单元格 输入公式:LEFT(A1,1)&"**",然后回车 2.按住ctrl和处理好的数据的右下角小方框,往下拖动即可生成格式为:姓** 格式的数据 3.复制生成的数据,右键选择 “…...

2023年我的编程之旅:技术演进与自我成长的纪录

2023年我的编程之旅:技术演进与自我成长的纪录 转眼间,2023年已经悄然走到了尾声。这一年,对我来说既是挑战也是机遇的一年。我的编程之旅如同坐上了一辆高速前进的列车,从新技术的学习探索到项目实战的沉浸经历,再到…...

好用免费的WAF---如何安装雷池社区版

什么是雷池​ 雷池(SafeLine)是长亭科技耗时近 10 年倾情打造的 WAF,核心检测能力由智能语义分析算法驱动。 Slogan: 不让黑客越雷池半步。 什么是 WAF​ WAF 是 Web Application Firewall 的缩写,也被称为 Web 应用防火墙。 …...

看似 bug 又非 bug 的一个 bug

最近的一个项目中&#xff0c;对于 CSS 的一些属性一些选择符可以大胆使用&#xff0c;然后很意外得撞上一个 iOS 中 Safari 的一个解析问题。 <Component style{{height: "calc(100vh - 46px)"}}>一个组件</Component> 这样的一段代码很简单&#xff…...

mysql常见问题

批量导入SQL 数据库结构 数据时&#xff0c;如果数据是批量插入的话会报错&#xff1a;2006 - MySQL server has gone away。 解决办法&#xff1a;找到你的 mysql 目录下的 my.ini 配置文件&#xff0c;加入以下代码 max_allowed_packet500M wait_timeout288000 interactiv…...

QT上位机开发(串口界面设计)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 如果上位机要和嵌入式设备进行打交道的话&#xff0c;那么串口可能就是我们遇到的第一个硬件设备。串口的物理接线很简单&#xff0c;基本上就是收…...

k8s之pod

1、pod&#xff1a;k8s中最小的资源管理组件&#xff0c;最小化运行容器化应用的资源管理对象 &#xff08;1&#xff09;pod是一个抽象的概念&#xff0c;可以理解为一个或者多个容器化应用的集合 &#xff08;2&#xff09;一个pod中运行一个容器是最常用的方式 &#xff…...

第二百四十三回 再分享一个Json工具

文章目录 1. 概念介绍2. 分析与比较2.1 分析问题2.2 比较差异 3. 使用方法4. 内容总结 我们在上一章回中介绍了"分享三个使用TextField的细节"相关的内容&#xff0c;本章回中将再 分享一个Json插件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我…...

electron自定义菜单

创建menu.js const { app, Menu } require("electron"); const createMenu () > {const menu [{label: "菜单",submenu: [{label: "新增",click: () > {},}, ],},{label: "关于",submenu: [{label: "新增",click:…...

变量和函数提升(js的问题)

• js解释执行 • 变量和函数提升 变量声明提前&#xff0c;函数声明提前 • 变量声明提前&#xff1a;值停留在本地 • 函数声明提前&#xff1a;整个函数体提前 如果是var赋值声明的函数&#xff0c;变量提前&#xff0c;函数体停留在本地 1、变量提…...

Excel 插件:ASAP Utilities Crack

ASAP Utilities是一款功能强大的 Excel 插件&#xff0c;填补了 Excel 的空白。在过去的 20 年里&#xff0c;我们的加载项已经发展成为世界上最受欢迎的 Microsoft Excel 加载项之一。 ASAP Utilities 中的功能数量&#xff08;300 多个&#xff09;可能看起来有点令人眼花缭乱…...

hyperf 十九 数据库 二 模型

教程&#xff1a;Hyperf 一、命令行 symfony/console-CSDN博客 hypery 十一、命令行-CSDN博客 hyperf console 执行-CSDN博客 根据之前应该能了解到命令行的基本实现&#xff0c;和hyperf中命令行的定义。 1.1 命令初始化 hyperf.php中系统初始化中通过ApplicationFacto…...

使用python快速开发与PDF文档对话的Gemini聊天机器人

检索增强生成(Retrieval-augmented generation&#xff0c;RAG)使得我们可以让大型语言模型(LLMs)访问外部知识库数据(如pdf,word、text等)&#xff0c;从而让人们可以更加方便的通过LLM来学习外部数据的知识。今天我们将利用之前学习到的RAG方法&#xff0c;谷歌Gemini模型和l…...

Spring Cloud Gateway集成Knife4j

1、前提 网关路由能够正常工作。 案例 基于 Spring Cloud Gateway Nacos 实现动态路由拓展的参考地址&#xff1a;Spring Cloud Gateway Nacos 实现动态路由 详细官网案例&#xff1a;https://doc.xiaominfo.com/docs/middleware-sources/spring-cloud-gateway/spring-gatewa…...

Hive10_窗口函数

窗口函数&#xff08;开窗函数&#xff09; 1 相关函数说明 普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值&#xff0c;而开窗函数则可为窗口中的每行都返回一个值。简单理解&#xff0c;就是对查询的结果多出一列…...

ipvsadm命令详解

ipvsadm命令详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨一个在Linux系统网络管理中极具威力的命令——ipvsadm&#xff0c;通过详细解析…...

zabbix通过自动发现-配置监控项、触发器(小白教程)

自动发现配置参考链接&#xff08;不小白&#xff0c;不友好&#xff09; zabbix-get介绍 1配置 zabbix server&#xff1a;版本7&#xff08;不影响&#xff09;,IP地址&#xff1a;192.168.0.60zabbix agent&#xff1a;版本agent1&#xff08;不影响&#xff09;&#xff…...

Dockerfile文件介绍

0 Preface/Foreword 0.1 Docker docker用来自制镜像。 1 Introduction 1.1 Dockerfile Dockerfile是用于定义Docker镜像的构建过程&#xff0c;它包含一系列的指令用于安装 软件包、配置环境等操作。 Dockerfile文件的格式如下&#xff1a; FROM base_image RUN apt-get up…...

基于wordpress学校系统/自建网站平台

一直把视图理解为一个select语句而已&#xff0c;视图一般就是用于查询&#xff0c;不会通过视图来更新表或视图本身的数据&#xff0c;所以视图根本不需要什么主键。今天自己建了一个视图view_test:drop view if existsview_testcreate viewview_testasselecta.c1,a.c2,b.c1,b…...

时代设计网 新网站/网站提交收录入口

你认为手机影像能力&#xff0c;上限在哪里&#xff1f;给自己一分钟&#xff0c;仔细思考一下这个问题的答案。我们或许会发现&#xff0c;内心深处有某块石头横亘在那里&#xff0c;让我们对移动影像的上限预估并不高&#xff0c;比如说长焦会模糊&#xff0c;夜拍不自然&…...

新人如何自学做网站/seo基础入门免费教程

点击上方“蓝色字”可关注我们&#xff01;暴走时评&#xff1a;奥地利政府将使用以太坊区块链公证价值11.5亿欧元&#xff08;约合13亿美元&#xff09;的政府债券拍卖&#xff0c;联邦政府财政局&#xff08;OeBFA&#xff09;已指派银行业巨头Oesterreichische Kontrollbank…...

贵州 政府网站建设规范/营销网站搭建

在同一个excel文件中引用不同工作表的方法&#xff1a;sheet1!c1&#xff0c;表示引用sheet1中的单元格c1。 引用不同excel文件中工作表的方法&#xff1a;C:\Documents and Settings\linjun-ghq\桌面\[other.xls]sheet3!U6&#xff0c;表示引用该路径下“other.xls”文件中she…...

wordpress bbs插件/游戏合作渠道

文丨安迪斯晨风有一些生僻字&#xff0c;一眼看上去觉得和常用字没区别&#xff0c;不过等你揉揉眼睛仔细看就会发现它们像是“缺胳膊少腿儿”一样。作为一个强迫症患者&#xff0c;宝宝总想拿起笔给它添上一丢丢。下面就让我们来认识一下这些字吧&#xff01;首先出场的是“戓…...

做移动网站优化优/营销网站优化推广

1、问题的产生&#xff1a; 在github上fork一个开源项目之后&#xff0c;想要修改部分代码后供公司项目使用。发现需要修改源项目中的所有内部import&#xff0c;例如开源模块 M中存在P1、P2等package&#xff0c; 其中P2 import P1的import路径为 “github.com/someone/M/P1”…...