SpringBoot不同环境加载不同配置文件(dev,sit,uat)
目录
- 一、springboot的profile配置
- profile多配置文件
- 二、maven的profiles策略
我们在使用spring的时候,一般都会有不同的环境需要部署:开发环境、测试环境和验收环境,而不同的环境则会有不同的配置,比如数据库ip。解决这个问题,我所熟悉的有两种策略:
- springboot的profile参数配置
- pom文件的resource & profile配置
DEV环境:DEV顾名思义就是develop,即代码开发的环境。
SIT环境:System Integration Test系统集成测试,开发人员自己测试流程是否走通。
UAT环境:User Acceptance Test用户验收测试,由专门的测试人员验证,验收完成才能上生产环境。
一、springboot的profile配置
Spring Profiles 允许用户根据环境配置来读取不同的配置文件(dev,sit,uat 等),可以通过激活、指定参数等方式快速切换环境。
profile多配置文件
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
application.properties:主配置文件
application-dev.properties:开发环境
application-sit.properties:测试环境
application-uat.properties:验收环境
至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。
有人会提问为啥要这样命名

application-dev.properties:开发环境
server.port=9001
application-sit.properties:测试环境
server.port=9002
application-uat.properties:验收环境
server.port=9003
application.properties:主配置文件
spring.profiles.active=sit
测试成功

二、maven的profiles策略
pom文件配置
<profiles><profile><!-- 开发环境 --><id>dev</id><properties><profiles.active>dev</profiles.active></properties></profile><profile><!-- 测试环境 --><id>sit</id><properties><profiles.active>sit</profiles.active></properties><activation><activeByDefault>true</activeByDefault></activation></profile><profile><!-- 验收环境 --><id>uat</id><properties><profiles.active>uat</profiles.active></properties></profile></profiles>
这里默认sit配置
会多出来一个Profiles

多环境配置
application-dev.properties:开发环境
server.port=9001
application-sit.properties:测试环境
server.port=9002
application-uat.properties:验收环境
server.port=9003
application.properties:主配置文件
注意这里的profiles.active 要和pom文件的对应上
spring.profiles.active=@profiles.active@
测试成功(记得切换Profiles的时候,刷新一下,不然不会生效)

相关文章:
SpringBoot不同环境加载不同配置文件(dev,sit,uat)
目录 一、springboot的profile配置profile多配置文件 二、maven的profiles策略 我们在使用spring的时候,一般都会有不同的环境需要部署:开发环境、测试环境和验收环境,而不同的环境则会有不同的配置,比如数据库ip。解决这个问题&a…...
2023.11.8 hadoop学习-概述,hdfs dfs的shell命令
目录 1.分布式和集群 2.Hadoop框架 3.版本更新 4.hadoop架构详解 5.页面访问端口 6.Hadoop-HDFS HDFS架构 HDFS副本 7.SHELL命令 8.启动hive服务 1.分布式和集群 分布式: 多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务)集 群:…...
Azure 机器学习 - 使用自动化机器学习训练计算机视觉模型的数据架构
目录 一、用于训练的数据架构图像分类(二进制/多类)多标签图像分类对象检测实例分段 二、用于联机评分的数据架构输入格式输出格式图像分类(二进制/多类)多标签图像分类对象检测实例分段 在线评分和可解释性 (XAI) 的数据格式支持…...
STM32F4X SDIO(九) 例程讲解-SD卡擦除、读写
STM32F4X SDIO (九) 例程讲解-SD卡擦除、读写 例程讲解-SD卡擦除、读写SD卡擦除CMD32:ERASE_WR_BLK_START命令发送命令响应 CMD33:ERASE_WR_BLK_END命令发送命令响应CMD38:ERASE命令响应 CMD13:SD_CMD_SEND_STATUS命令发送命令回应 SD卡读数据CMD16:SET_…...
【机器学习范式】监督学习,无监督学习,强化学习, 半监督学习,自监督学习,迁移学习,对比分析+详解与示例代码
目录 1. 监督学习 (Supervised Learning): 2. 无监督学习 (Unsupervised Learning): 3. 强化学习 (Reinforcement Learning): 4. 半监督学习 (Semi-Supervised Learning): 5. 自监督学习 (Self-Supervised Learning): 6. 迁移学习 (Transfer Learning): 7 机器学习范式应…...
JUC包下面的四大天王+线程池部分知识
一)Semphore:限流器用我就对了 Java中信号量Semphore是把操作系统原生的信号量封装了一下,本质就是一个计数器,描述了 可用资源的个数,主要涉及到两个操作 如果计数器为0了,继续Р操作,就会出现阻塞等待的情况 P操作:申…...
AGV系统控制位置管理功能
# ファイル: agv_locattion.py # 説明: AGV (Automated Guided Vehicle) の位置情報を管理し、UDPサーバーとして動作するGUIアプリケーションです。 # 必要なライブラリをインポート import tkinter as tk import socket import threading def AGV_handle_submit(canvas, st…...
JavaScript从入门到精通系列第三十三篇:详解正则表达式语法(二)
文章目录 一:正则表达式 1: 检查一个字符串中是否有. 2:第二种关键表达 3:第三种关键表达 编辑4:第四种关键表达 5:第五种关键表达 6:第六种关键表达 二:核心表达二 1&am…...
由于找不到 d3dx9_43.dll,无法继续执行代码。重新安装程序可能会解决此问题
电脑出现d3dx9_43.dll缺失的问题,通常是由于DirectX组件未安装或损坏导致的。为了解决这个问题,我为您提供了以下四个解决方法: d3dx9_43.dll解决方法1. 使用dll修复程序修复 首先,使用系统文件程序dll进行修复操作非常简单&…...
AI全栈大模型工程师(二十一)LangChain和SemanticKernel怎么选
LangChain 和 Semantic Kernel 怎么选? #%% md 划重点: 两者都值得学C#、JavaScript 和 Java 现在没得选做原型,首选 LangChain。功能多,开发快做产品,还是 SK 长期更可依赖建议只用 SK 的 Connectors 和 Plugins 能力…...
npm install 报错 chromedriver 安装失败的解决办法
npm install chromedriver --chromedriver_cdnurlhttp://cdn.npm.taobao.org/dist/chromedriver...
C语言--每日五道选择题--Day6
第一题 1、声明以下变量,则表达式: ch/i (f*d – i) 的结果类型为( ) char ch; int i; float f; double d; A: char B: int C: float D: double 答案及解析 D 基本数据类型的等级从低到高如下:char-> int-> long-> f…...
element-ui 封装 表格
一、封装表格组件 <template><el-table :data"list" :default-sort"{ prop: date }" style"width: 100%"><template v-for"item in tableColumn"><el-table-columnv-if"item.filters":prop"item…...
数据的使用、表关系的创建、Django框架的请求生命周期流程图
目录 一、数据的增删改查 1. 用户列表的展示 2. 修改数据的逻辑分析 3. 删除功能的分析 二、如何创建表关系 三、Django的请求生命周期流程图 一、数据的增删改查 1. 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 查询数据 def userlist(request):&qu…...
Python基础教程:类--继承和方法的重写
嗨喽,大家好呀~这里是爱看美女的茜茜呐 什么是继承 继承就是让类与类之间产生父子关系,子类可以拥有父类的静态属性和方法 继承就是可以获取到另一个类中的静态属性和普通方法(并非所有成员) 在python中,新建的类可…...
Three.js提供了多种类型的灯光
Three.js提供了多种类型的灯光,包括环境光、点光源、平行光源和聚光灯。这些灯光可以用来照亮场景中的物体,使其看起来更加真实。 环境光(AmbientLight):环境光会均匀地照亮场景中的所有物体,没有方向,不能用来投射阴…...
精通Nginx(10)-负载均衡
负载均衡就是将前端过来的负载分发到两台或多台应用服务器。Nginx支持多种协议的负载均衡,包括http(s)、TCP、UDP(关于TCP、UDP负载均衡另文讲述)等。 目录 HTTP负载均衡 负载均衡策略 轮询 least_conn(最少连接) hash(通用哈希) ip_hash(IP 哈希) random(随…...
Hls学习(一)
1:CPU、DSP、GPU都算软件可编程的硬件 2:dsp在递归方面有所减弱,在递归方面有所增强,比如递归啊等,GPU可以同时处理多个进程,对于大块数据,流处理比较适用 3:为了提高运算量处理更多…...
Maven打包引入本地依赖包
Maven打包引入本地依赖包 SpringBoot 工程,Maven 在构建项目时,如何引入本地 Jar 包? 适合场景: 引用的依赖不在 Maven 仓库第三方公司提供的 SDK 包Maven 内网离线开发引入被定制改动过的 Jar 包 解决方法: 在 I…...
Docker常用命令及部署微服务项目
Docker常用命令及部署微服务项目 1、Docker常用命令 1、设置Yum源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 2、安装docker yum -y install docker-ce 3、启动docker service docker start 4、验证 docker version 5…...
FPGA与MCP2518FD的SPI通信调试实战:从时序纠错到CAN FD数据收发
1. SPI通信调试:从时序分析到实战纠错 第一次用FPGA通过SPI控制MCP2518FD时,我对着逻辑分析仪抓到的波形反复比对手册,发现数据死活写不进寄存器。这种经历相信很多工程师都遇到过——明明代码逻辑没问题,硬件连接也正确ÿ…...
Phi-4-mini-reasoning开发者案例:为低代码平台注入多步推理能力
Phi-4-mini-reasoning开发者案例:为低代码平台注入多步推理能力 1. 模型介绍 Phi-4-mini-reasoning是一款专注于推理任务的文本生成模型,特别擅长处理需要多步逻辑推导的问题。与通用聊天模型不同,它被设计用来解决数学题、逻辑题等需要逐步…...
AGI不是“是否”,而是“谁先”:SITS2026圆桌首次公开全球TOP12机构AGI路线图对比(含训练成本曲线、对齐成熟度、安全冗余等级)
第一章:SITS2026圆桌:AGI何时到来 2026奇点智能技术大会(https://ml-summit.org) 圆桌共识与分歧焦点 在SITS2026主会场举行的“AGI何时到来”圆桌论坛中,来自DeepMind、Anthropic、中科院自动化所及OpenAI前核心架构师的六位专家展开激烈交…...
别再只盯着AUC了:从点击率模型到购买转化模型,聊聊线下AUC与线上效果的‘温差’到底在哪
解密模型评估中的AUC迷思:从离线指标到线上效果的实战指南 当算法工程师们兴奋地看着离线实验中的AUC指标提升0.5%,却在AB测试中发现线上点击率纹丝不动时,那种落差感就像精心准备的宴席无人问津。这种"离线狂欢,线上寂寞&qu…...
锁定放大器不止于AD630:聊聊ADA2200的可编程方案与电赛中的选型思考
锁定放大器芯片选型实战:AD630与ADA2200的深度对比与电赛设计策略 从噪声中提取信号的工程艺术 在电子设计竞赛和科研实验中,微弱信号检测始终是极具挑战性的课题。当目标信号被淹没在比自身强大数十倍的噪声背景中时,传统放大滤波方案往往束…...
Licia实用工具库完全指南:400+零依赖模块一站式解决方案
Licia实用工具库完全指南:400零依赖模块一站式解决方案 【免费下载链接】licia Useful utility collection with zero dependencies 项目地址: https://gitcode.com/gh_mirrors/li/licia Licia是一个功能强大的实用工具库,提供了400多个零依赖的模…...
Winhance中文版:让Windows系统加速73%的5大核心优化功能
Winhance中文版:让Windows系统加速73%的5大核心优化功能 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance-…...
零基础玩转Sambert语音合成:开箱即用版,5分钟搭建AI配音系统
零基础玩转Sambert语音合成:开箱即用版,5分钟搭建AI配音系统 1. 引言:为什么选择开箱即用的语音合成? 想象一下,你正在制作一个短视频,需要给画面配上生动的旁白。传统方法要么自己录音,要么花…...
建站系统是什么?类型、选择标准与常见系统对比
建站系统,顾名思义,是用于创建和管理网站的软件工具或平台。它帮助用户在不编写代码、不深入理解服务器技术的情况下,完成网站的设计、内容发布和功能配置。你可以这样理解:如果说“网站建设”是盖房子,那么“建站系统…...
VS Code + Keil + AI插件(Trae):嵌入式开发环境终极配置指南,告别Keil编辑器!
VS Code Keil AI插件(Trae):嵌入式开发环境终极配置指南,告别Keil编辑器! 原创不易,转载注明出处。 一、前言 各位朋友,想必你也有过这样的体验: 打开Keil uVision,那…...
