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

Spring Boot中通过maven进行多环境配置

上文 java Spring Boot将不同配置拆分入不同文件管理 中 我们说到了,多环境的多文件区分管理
说到多环境 其实不止我们 Spring Boot有 很多的东西都有

那么 这就有一个问题
如果 spring 和 maven 都配置了环境 而且他们配的不一样 那么 会用谁的呢?
在这里插入图片描述
此时 我们就要分清 他们两个是谁依赖谁? 谁可以自己跑起来 谁离了对方就运行不了了
那么 显然是 Spring要依赖maven

我们打开 IDEA 运行项目 我的 application.yml 中代码是这样

spring:profiles:active: devgroup:"dev": devMVC"prm": devMVC

这里 我们选择了dev 开发环境
然后 配置group选择devMVC文件
然后我们启动项目
在这里插入图片描述
看控制台的输出 也是没有任何问题

那么 我们打开项目的配置文件 pom.xml
在这里面写环境配置
参考代码如下

<profiles><profile><id>gr_dev</id><properties><profile.active>dev</profile.active></properties><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>gr_prm</id><properties><profile.active>prm</profile.active></properties></profile>
</profiles>

这里 我们设置了两个变量 名字分别是 gr_prm和gr_dev 这个名字随便取 看你心情
然后 他们分别指向环境 prm和dev
然后 给gr_dev 设置了activation.activeByDefault 为true 表示默认启动
在这里插入图片描述
然后 我们配置文件application.yml改成这样

spring:profiles:active: @profile.active@group:"dev": devMVC"prm": devMVC

通过标识符 @代理名@ 指向读取的环境属性

弄好之后呢 我们直接打包
在这里插入图片描述
这边 target出来之后 我们直接在电脑中打开这个目录看
在这里插入图片描述
进入 这个 target目录下 用解压包管理工具打开这个 jar包
在这里插入图片描述
打开里面的 BOOT-INF下的 classes 下的 application.yml
可以看到 active 他就直接给你编译成dev了
在这里插入图片描述
为了证明 我们打开pom.xml 将默认启动的配置改到下面来 我们默认用这个 prm
在这里插入图片描述
然后 我们重新打包一下
在这里插入图片描述
然后 我们重新打开target下 的jar包下的BOOT-INF下的 classes 下的 application.yml
在这里插入图片描述
这里很明显就生效了

但这里我需要提前说明 如果你在 idea 中运行项目 这个配置是有问题的 只有打包出来这个配置才有用

相关文章:

Spring Boot中通过maven进行多环境配置

上文 java Spring Boot将不同配置拆分入不同文件管理 中 我们说到了&#xff0c;多环境的多文件区分管理 说到多环境 其实不止我们 Spring Boot有 很多的东西都有 那么 这就有一个问题 如果 spring 和 maven 都配置了环境 而且他们配的不一样 那么 会用谁的呢&#xff1f; 此…...

python自动化Selenium的使用

python自动化Selenium的使用 Selenium是一个自动化测试框架&#xff0c;用于模拟和控制浏览器操作&#xff0c;支持多种编程语言。它可以模拟人类用户在浏览器上的操作&#xff08;如点击、滚动、输入等&#xff09;&#xff0c;并检查网页内容和元素的属性。Selenium可用于对…...

大数据课程K13——Spark的距离度量相似度度量

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Spark的距离度量和相似度度量; ⚪ 掌握Spark的欧氏距离; ⚪ 掌握Spark的曼哈顿距离; ⚪ 掌握Spark的切比雪夫距离; ⚪ 掌握Spark的最小二乘法; 一、距离度量和相似度度量 1. …...

Lambda表达式第四版

1、冗余的Runnbale代码 package com.lambda;public class Demo01Runnable {public static void main(String[] args) {RunnableImpl runnable new RunnableImpl();Thread thread new Thread(runnable);thread.start();//Lambda表达式} }class RunnableImpl implements Runnab…...

自定义类加载器

java中自定义类加载器&#xff0c;并将双亲委派改为逆向双亲委派 自定义类加载器JarLoader&#xff1a; package cn.ac.iscas.dmo.common.tools.core.classloader;import org.apache.commons.collections4.MapUtils;import java.io.*; import java.net.URL; import java.net.U…...

【Redis】Redis 的学习教程(七)之 SpringBoot 集成 Redis

在前几篇文章中&#xff0c;我们详细介绍了 Redis 的一些功能特性以及主流的 java 客户端 api 使用方法。 在当前流行的微服务以及分布式集群环境下&#xff0c;Redis 的使用场景可以说非常的广泛&#xff0c;能解决集群环境下系统中遇到的不少技术问题&#xff0c;在此列举几…...

Vlan和Trunk

文章目录 一、VLAN的定义与背景1. 传统以太网的问题&#xff08;广播域&#xff09;2. 用VLAN隔离广播域3. VLAN的优点与应用 二、VLAN的转发过程举例三、802.1Q标签&#xff1a;帧格式与作用四、VLAN工作原理交换机端口类型AccessTrunkHybrid PVID&#xff08;Port VLAN ID&am…...

java 批量下载将多个文件(minio中存储)压缩成一个zip包

我的需求是将minio中存储的文件按照查询条件查询出来统一压成一个zip包然后下载下来。 思路&#xff1a;针对这个需求&#xff0c;其实可以有多个思路&#xff0c;不过也大同小异&#xff0c;一般都是后端返回流文件前端再处理下载&#xff0c;也有少数是压缩成zip包之后直接给…...

nnUNet v2数据准备及格式转换 (二)

如果你曾经使用过nnUNet V1&#xff0c;那你一定明白数据集的命名是有严格要求的&#xff0c;必须按照特定的格式来进行命名才能正常使用。 这一节的学习需要有数据&#xff0c;如果你有自己的数据&#xff0c;可以拿自己的数据来实验&#xff0c;如果没有&#xff0c;可以用十…...

ant-vue1.78版监听a-modal遮罩层的滚动事件

监听a-modal遮罩层的滚动事件 我们开发过程中经常有遇到监听页面滚动的事件需求&#xff0c;去做一些下拉加载或者是下拉分页的需求&#xff0c;我们直接在vue的生命周期中去绑定事件监听非常的方便&#xff0c;但如果是弹框的遮罩层的滚动监听呢&#xff1f;页面的监听完全是…...

MATLAB中residue函数用法

目录 语法 说明 示例 求解具有实根的部分分式展开式 展开具有复数根和同次分子及分母的分式 展开分子次数高于分母次数的分式 residue函数的功能是部分分式展开&#xff08;部分分式分解&#xff09;。 语法 [r,p,k] residue(b,a) [b,a] residue(r,p,k) 说明 [r,p…...

攻防世界-Caesar

原题 解题思路 没出现什么特殊字符&#xff0c;可能是个移位密码。凯撒密码加密解密。偏移12位就行。...

嵌入式开发-lin总线介绍 一.概述

1.1lin总线定义和历史 LIN总线&#xff08;Local Interconnect Network&#xff09;是一种基于UART/SCI&#xff08;Universal Asynchronous Receiver-Transmitter/Serial Communication Interface&#xff09;的低成本串行通信协议。它主要用于汽车、家电、办公设备等多种领域…...

羊城杯-2023-Crypto

文章目录 Danger_RSA题目描述&#xff1a;题目分析&#xff1a; Easy_3L题目描述&#xff1a;题目分析&#xff1a; XOR贯穿始终题目描述&#xff1a;题目分析&#xff1a; MCeorpkpleer题目描述&#xff1a;题目分析&#xff1a; SigninCrypto题目描述&#xff1a;题目分析&am…...

RabbitMQ快速上手及讲解

前言&#xff1a;在介绍RabbitMQ之前&#xff0c;我们先来看下面一个场景&#xff1a; 1.1.1.1 异步处理 场景说明&#xff1a; 用户注册后&#xff0c;需要发注册邮件和注册短信&#xff0c;传统的做法有两种 1.串行的方式 (1)串行方式&#xff1a;将注册信息写入数据库后&a…...

使用多线程std::thread发挥多核计算优势(解答)

使用多线程std::thread发挥多核计算优势&#xff08;题目&#xff09; 单核无能为力 如果我们的电脑只有一个核&#xff0c;那么我们没有什么更好的办法可以让我们的程序更快。 因为这个作业限制了你修改算法函数。你唯一能做的就是利用你电脑的多核。 使用多线程 由于我们…...

MySQL分页查询详解:优化大数据集的LIMIT和OFFSET

最近在工作中&#xff0c;我们遇到了一个需求&#xff0c;甲方要求直接从数据库导出一个业务模块中所有使用中的工单信息。为了实现这一目标&#xff0c;我编写了一条SQL查询语句&#xff0c;并请求DBA协助导出数据。尽管工单数量并不多&#xff0c;只有3000多条&#xff0c;但…...

解构赋值、函数默认值

暂时性死区&#xff0c;TDZ&#xff08;Temporal Dead Zone&#xff09; var x 1 {let x x//此处声明了x&#xff0c;但是没有对x赋值&#xff0c;相当于在赋值之前引用x&#xff0c;所以会造成报错console.log(x)//报错x is not defined&#xff0c;暂时性死区&#xff0c;…...

【已解决】Mybatis 实现 Group By 动态分组查询

&#x1f389;工作中遇到这样一个需求场景&#xff1a;实现一个统计查询&#xff0c;要求可以根据用户在前端界面筛选的字段进行动态地分组统计。也就是说&#xff0c;后端在实现分组查询的时候&#xff0c;Group By 的字段是不确定的&#xff0c;可能是一个字段、多个字段或者…...

Android修改默认gradle路径

Android Studio每次新建项目&#xff0c;都会默认在C盘生成并下载gradle相关文件&#xff0c;由于C盘空间有限&#xff0c;没多久C盘就飘红了&#xff0c;于是就需要把gradle相关文件转移到其他盘 1、到C盘找到gradle文件 具体路径一般是&#xff1a;C:\Users\用户\ .gradle …...

AWS Shell异步操作:非阻塞命令执行的终极指南

AWS Shell异步操作&#xff1a;非阻塞命令执行的终极指南 【免费下载链接】aws-shell An integrated shell for working with the AWS CLI. 项目地址: https://gitcode.com/gh_mirrors/aw/aws-shell AWS Shell是一款专为AWS CLI设计的强大交互式生产力工具&#xff0c;它…...

10.JVM-垃圾回收器

Serial 与 Serial Old核心特征&#xff1a;单线程、Stop The World (STW)。工作机制&#xff1a;它们在进行垃圾回收时&#xff0c;必须暂停所有其他的工作线程&#xff0c;直到它收集结束。Serial&#xff1a;新生代&#xff0c;采用标记-复制算法。Serial Old&#xff1a;老年…...

别再被MPU6050的偏航角坑了!手把手教你用MPU9250(或外接HMC5883L磁力计)彻底解决零飘问题

彻底解决MPU6050偏航角零飘&#xff1a;硬件升级与磁力计融合实战指南 在无人机、平衡车和机器人姿态控制领域&#xff0c;MPU6050曾是许多开发者的首选惯性测量单元(IMU)。这款经典的六轴传感器以低廉的价格和稳定的性能赢得了市场&#xff0c;但它的一个致命缺陷让无数工程师…...

OpenClaw多模型切换:百川2-13B与Qwen在任务链中的混合调用策略

OpenClaw多模型切换&#xff1a;百川2-13B与Qwen在任务链中的混合调用策略 1. 为什么需要多模型混合调用&#xff1f; 去年冬天&#xff0c;当我第一次尝试用OpenClaw自动化处理周报时&#xff0c;发现一个有趣的现象&#xff1a;同一个模型在写作创意部分和代码生成环节的表…...

别再死记硬背TTS原理了!用Python+TensorFlow复现一个简易Deep Voice,从音素到语音全流程拆解

用PythonTensorFlow实战Deep Voice&#xff1a;从音素到语音的完整实现指南 当你第一次听到计算机生成的语音时&#xff0c;是否好奇过这背后的魔法是如何实现的&#xff1f;现代文本转语音(TTS)系统已经能够产生几乎与真人无异的语音&#xff0c;而Deep Voice作为早期端到端TT…...

美图靠AI一年收入38亿,不靠免费大模型API,靠的是什么?

财报数据显示&#xff0c;美图2025年全年实现营业收入38.6亿元&#xff0c;同比大幅增长28.8%&#xff0c;整体营收规模再创新高&#xff0c;展现出核心业务的强劲增长韧性。不过公司常规账面净利润为7亿元&#xff0c;同比下降12.7%&#xff0c;看似利润下滑的背后&#xff0c…...

CentOS8网络管理大变革:从network.service到NetworkManager的全面解析

CentOS8网络管理架构深度解析&#xff1a;从传统命令到NetworkManager的进化之路 如果你是一位长期使用CentOS的系统管理员&#xff0c;最近升级到CentOS8后可能会遇到一个令人困惑的问题&#xff1a;当你习惯性地输入systemctl restart network命令时&#xff0c;系统却无情地…...

小白也能玩转的AI语音合成:超级千问语音世界快速体验报告

小白也能玩转的AI语音合成&#xff1a;超级千问语音世界快速体验报告 1. 初识超级千问语音世界 第一次打开超级千问语音世界&#xff0c;我仿佛穿越回了童年玩红白机的时代。复古的像素风界面、跳跃的蘑菇按钮、会移动的小乌龟&#xff0c;这哪里是AI工具&#xff0c;分明是个…...

CoPaw自动化办公实战:Python脚本批量处理文档与邮件

CoPaw自动化办公实战&#xff1a;Python脚本批量处理文档与邮件 1. 为什么需要办公自动化&#xff1f; 每天重复处理大量文档和邮件&#xff0c;是不是让你感到疲惫不堪&#xff1f;根据统计&#xff0c;普通职场人平均每天要花费2-3小时在文档处理和邮件回复上。这些重复性工…...

终极指南:如何参与Carbonyl开源终端浏览器项目贡献

终极指南&#xff1a;如何参与Carbonyl开源终端浏览器项目贡献 【免费下载链接】carbonyl Chromium running inside your terminal 项目地址: https://gitcode.com/gh_mirrors/ca/carbonyl Carbonyl是一个创新的开源项目&#xff0c;它让Chromium浏览器能够在终端中运行…...