Spring项目结合Maven【实现读取不同的资源环境】

news2025/2/25 18:27:38

📃目录跳转

    • 📚简介:
      • 🍑修改pom.xml
      • 🥞修改application.yml
      • 🚀 演示:

📚简介:

       由于我们写功能的不能影响到线上环境的配置,所以每一次增加功能我们都要吧项目部署到测试环境上运行功能是否没问题,测试没问题后再发布线上服务器上。那么我就要每一次都需要修改active的读取配置。

测试SpringDemo配置如下:
在这里插入图片描述

application.yml :主配置用于标识读取那个配置文件
application-dev.yml:测试环境配置
application-prod.yml: 线上环境配置

application-dev.yml配置如下:

在这里插入图片描述
application-prod.yml配置如下:
在这里插入图片描述
因为是测试项目所以配置只有端口号不同。


部署环境一变那么每一次都需要修改active的读取配置。

spring:
  profiles:
    active: dev

通过Maven插件来完成不同环境的切换。

🍑修改pom.xml

       我们只需要在Maven的pom.xml中添加profiles配置,我们现在需要配置application-dev.yml:测试环境配置和application-prod.yml: 线上环境配置

设置项目中的pom.xml

    <profiles>
        <profile>
            <!--id名称可以随意声明 一般使用配置名称-->
            <id>dev</id>
            <properties>
                <!--读取的资源配置-->
                <spring.active>dev</spring.active>
            </properties>
            <activation>
                <!--设置默认使用的资源配置-->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <spring.active>prod</spring.active>
            </properties>
        </profile>
    </profiles>

添加处理资源文件的插件

    <build>
   		<!--打包后的名称-->
        <finalName>net-verif</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <!--添加处理资源文件的插件 start -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <delimiters>
                        <delimiter>@</delimiter>
                    </delimiters>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                </configuration>
            </plugin>
           <!--添加处理资源文件的插件 end -->
        </plugins>
    </build>

添加完成后记得刷新maven配置,可以看到我们定义的环境

在这里插入图片描述

🥞修改application.yml

修改application.yml :主配置进行修改,把spring.profiles.active修改成'@spring.active@'

spring:
  profiles:
    active: '@spring.active@'

🚀 演示:

1.使用测试环境配置

在这里插入图片描述

日志打印:

可以看出打印的端口号是和测试环境的端口号一致。

在这里插入图片描述

2.使用线上环境配置

在这里插入图片描述

日志打印:

可以看出打印的端口号是和线上环境的端口号一致。

在这里插入图片描述

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

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

相关文章

STM32HAL库单ADC+DMA学习及测试记录

一、打开STM32CubeMX选择对应的芯片型号&#xff0c;后进入开发界面 1、双击“STM32CubeMX”软件打开&#xff0c;打开后如下图所示&#xff0c;选择红色框&#xff1b; 选择后可能会更新&#xff0c;等待更新完成即可&#xff0c;如下图&#xff1a; 2、选择开发芯片&#x…

【剧前爆米花--爪哇岛寻宝】面向对象的三大特性——封装、继承以及多态的详细剖析(上——继承)。

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaSE语法与底层详解》 文章分布&#xff1a;这是一篇关于Java面向对象三大特性——继承的文章&#xff0c;在本篇文章中我会分享继承的一些基础语法以及类在继承时代码的底层逻辑和执行顺序。 目录 继承 需求 继承的定义及语…

nginx(六十八)proxy模块(八)nginx与上游的ssl握手

一 nginx作为客户端与上游的SSL/TLS握手 理解上&#xff1a; nginx作为客户端,此时类似浏览器的角色,发请求建立连接 nginx作为server端与下游进行SSL/TLS握手 ① nginx与后端选择什么样的协议 1&#xff09;如果nginx与上游是局域网内,一般通过http建立请求,不需要进行…

详解__int128,最大可用整数类型

前言&#xff1a;有些题目需要的数值刚好比 long long 的最大值大那么一点点&#xff0c;那么我们就可以用__int128 来搏一搏&#xff08;并不是所有OJ都支持这个数据类型&#xff0c;受编译标准影响&#xff09; 最大值是多少 int 最大值&#xff1a;2^(32-1)-1【受电脑字长影…

碳中和专题:碳足迹核算、碳中和顶刊论文、碳排放交易2022

&#xff08;1&#xff09;碳中和顶刊论文 1、数据来源&#xff1a;自身 2、具体内容&#xff1a; 01周宏春&#xff1a;碳循环经济内涵、实践及其碳中和的深远影响.pdf 02谢和平&#xff1a;碳中和目标下煤炭行业发展机遇.pdf 03秦阿宁&#xff1a;碳中和背景下的国际绿色技…

【FPGA】基于状态机实现自动售货机模拟

文章目录一、售货机功能二、售货机状态分析及模块划分三、代码实现四、上板验证一、售货机功能 此自动售货机模拟基于EP4CE6F17C8开发板实现&#xff0c;用按键&#xff0c;led灯&#xff0c;数码管表示各个输入输出 功能&#xff1a; 此自动售货机可以选择A&#xff08;三元…

[激光原理与应用-21]:《激光原理与技术》-7- 激光技术大汇总与总体概述

目录 前言&#xff1a; 第1章 什么是激光技术 1.1 什么是激光技术 1.2 激光技术的分类方法 第2章 激光的应用技术 2.1 激光加工技术 2.2 激光快速成型 2.3 激光切割 2.4 激光焊接 2.5 激光雕刻 2.6 激光打孔 2.7 激光蚀刻 2.8 激光手术 2.9 激光武器 2.10 激光能…

详解诊断数据库ODX-D

文章目录 前言一、ODX-D具体内容是什么?二、ODX企标中关于ODX-D定义内容三、ODX-D在CANdelaStudio以及ODXStudio中定义内容总结前言 ​又是一周末,静下心码下字,将ODX这个Topic补充完整。 ODX含义是开放式诊断数据交互,是欧洲那边提出诊断数据架构,详情可如下图: 核心…

区间信息维护与查询【树状数组 】 - 原理2 多维树状数组

区间信息维护与查询【树状数组 】 - 原理2 多维树状数组 我们已经知道一维树状数组修改和查询的时间复杂度均为O (logn)&#xff0c;可以扩展为m 维树状数组&#xff0c;其时间复杂度为O (log ^m n )&#xff0c;对该算法只需加上一层循环即可。二维数组a [n ][n ]、树状数组c…

创建TCP通信与粘包问题解决

创建TCP通信 nodeJS的Net模块实现了底层通信接口 通信过程 创建服务端&#xff1a;接收和回写客户端数据创建客户端&#xff1a;发送和接收服务端数据数据传输&#xff1a; 内置服务事件和方法读写数据 通信事件 listing事件&#xff1a;调用server.listen方法之后触发con…

介绍 10 个有用的 Flutter 软件包

介绍 10 个有用的 Flutter 软件包 原文 https://genotechies.medium.com/introducing-10-useful-flutter-packages-1252c4b75fa7 前言 FLutter 软件包使您的开发简单快速。然而&#xff0c;有利有弊。有时候&#xff0c;如果从头开始开发这个特性将是有益的&#xff0c;因为可定…

Hive日分区表如何快速导入到StarRocks

1、背景 业务现状&#xff1a;集团使用FineBI做数据呈现及报表分析工具&#xff0c;经过近两年的BI建设&#xff0c;供应链域及营销域的BI建设已初具规模并体系化。数仓规模60TB&#xff0c;FineBI数据集约8000个&#xff0c;BI挂出报表数约1600个&#xff0c;报表月增幅在40左…

非凡社群管理之社群管理有什么内容

社群作为一个非常重要的私域流量池&#xff0c;它本身就是一个提升用户价值的利器。但如果管理不好社群&#xff0c;那么也是无济于事的。 社群小助手提示&#xff1a;高效管理社群&#xff0c;以下这五个方面要做好。 一&#xff0c;社群为用户解决问题&#xff0c;让群成员都…

iwebsec靶场 SQL注入漏洞通关笔记6- 宽字节注入

系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1- 数字型注入_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2- 字符型注入&#xff08;宽字节注入&#xff09;_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记3- bool注入&#xff08;布尔型盲注&#…

【ML特征工程】第 7 章 :通过K-Means 模型堆叠进行非线性特征化

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

计算机视觉之目标检测(object detection)《1》

在计算机视觉领域&#xff0c;除了识别图像并分类之外&#xff0c;我们很多时候想关注图像里面一些感兴趣的目标&#xff0c;比如视频监控中寻找一个或多个嫌疑犯&#xff1b;无人驾驶需要识别车辆、行人、红绿灯、路障等等&#xff0c;都是需要去及时掌握画面中的不同目标。我…

古瑞瓦特能源通过聆讯:上半年营收23亿 IDG投资9亿持股6.5%

雷递网 雷建平 11月26日古瑞瓦特能源&#xff08;简称&#xff1a;“Growatt Technology”&#xff09;日前递交招股书&#xff0c;准备在香港上市。上半年营收23.45亿古瑞瓦特能源于2011年在深圳成立&#xff0c;是一家分布式能源解决方案提供商&#xff0c;专注于可持续能源发…

Crack:GoJS 2.2.18 -2022-09-08 update

使用 JavaScript 和 TypeScript 为 Web 构建图表 流程图 构建交互式流程图或流程图。让您的用户使用 JSON 模型输出构建、修改和保存图表。状态图 可视化状态图和其他行为图。创建具有实时更新的图表以监控状态&#xff0c;或创建交互式图表以进行规划。桑基图 GoJS 允许对链接…

史上最全MATLAB误差分析工具箱,不看别后悔 【矢量化代码、效率嘎嘎快、支持计算50种指标】

在拟合、插值、模拟预测等计算中&#xff0c;往往需要通过不同指标参数来分析实际值与计算值之间差异依次衡量相关方法的可行性。常用的表征指标有残差平方和(SSE)、均方差(MSE)、均方根差(RMSE)、平均绝对误差(MAE)和决定系数R方(R-Squared)等等。 考虑到误差分析在实际应用中…

Kafka部署安装及简单使用

一、环境准备 1、jdk 8 2、zookeeper 3、kafka 说明&#xff1a;在kafka较新版本中已经集成了zookeeper&#xff0c;所以不用单独安装zookeeper&#xff0c;只需要在kafka文件目录中启动zookeeper即可 二、下载地址 Apache Kafka 三、部署 1、启动zookeeper -- 启动 .…