Spring boot 多环境变量配置

Spring boot项目IDEA环境变量设置 本篇内容详细讲解Spring boot项目的环境变量设置以及Maven的配置文件设置和idea软件内部的设置。 阅读详情

这里主要介绍Spring boot配合maven实现多环境变量配置,java开发工具使用eclipse,其它如gradle,或者只用其它IDE,基本原理差不多。

常见多环境的产生有两个方面:

1 开发环境和生产环境

2 不同用户的开发环境

下面以dev和prod为例,并且有两个用户user1和user2

在统一默认的application.properties文件中给出变量:

spring.profiles.active=@env@

这里注意一下,maven默认的变量占位符为${}, 如果parent是spring-boot-starter-parent,占位符变为@@

 

user 1, dev所对应的properties文件和pom.xml文件(只列出不同内容)

application-dev-user1.properties

server.port=8080

pom.xml

<staticdir>c:/user1/project/src/main/resources/static</staticdir>

 

user 1, prod所对应的properties文件和pom.xml文件(只列出不同内容)

application-prod-user1.properties

server.port=80

pom.xml

<staticdir>c:/user1/project/src/main/resources/static</staticdir>

 

user 2, dev所对应的properties文件和pom.xml文件(只列出不同内容)

application-dev-user2.properties

server.port=8081

pom.xml

<staticdir>c:/user2/project/src/main/resources/static</staticdir>

 

user 2, prod所对应的properties文件和pom.xml文件(只列出不同内容)

application-prod-user2.properties

server.port=9000

pom.xml

<staticdir>c:/user2/project/src/main/resources/static</staticdir>

 

配置步骤:

1 在src/main/resources下创建四个文件application-dev-user1.properties, application-prod-user1.properties,application-dev-user2.properties, application-prod-user2.properties

分别定义 server.port

2 在pom.xml中添加四个profiles

<profiles>
	
		<profile>
			<id>dev-user1</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<env>dev-user1</env>
                <staticdir>c:/user1/project/src/main/resources/static</staticdir>
			</properties>
		</profile>

		<profile>
			<id>prod-user1</id>
			<properties>
				<env>prod-user1</env>
                <staticdir>c:/user1/project/src/main/resources/static</staticdir>
			</properties>
		</profile>

		<profile>
			<id>dev-user2</id>
			<properties>
				<env>dev-user2</env>
                <staticdir>c:/user2/project/src/main/resources/static</staticdir>
			</properties>
		</profile>
		
		<profile>
			<id>prod-user2</id>
			<properties>
				<env>prod-user2</env>
                <staticdir>c:/user2/project/src/main/resources/static</staticdir>
			</properties>
		</profile>

</profiles>

3 右键点击项目,run as -> maven build ...在配置选项Profiles填入对应的profile,property文件就会正确的被打包。

如果存在多个开发者都使用不同属性值,也可以在各自开发环境中的.m2\setting.xml中配置profiles.

Spring系列——>配置maven环境变量 Spring系列——>配置maven环境变量 Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。 如何配置maven 1.在官网下载maven并解压 2.配置环境... 阅读详情

相关推荐

多环境配置-SpringBoot 2.7.2 实战基础

在一个项目的开发过程中,通常伴随着多套环境:本地环境 local、开发环境 dev、集成测试环境 test、用户接受测试环境 uat、预生产环境 pre、生产环境 prod。本节的内容有些脱离真实企业开发,因为在真实的企业开发中,不会只开发一个独立的服务,而是多个微服务。发展至今,云原生也越来越普遍。面对多套环境,通常是”一套代码 + 配置中心“的方式,将代码编译打包后,在启动服务时或服务运行过程中,从配置中心读取配置,保证各个环境代码完全一致,仅配置不同。关于配置中心,在后面的系列文章中会详细介绍。...

youyacoder的博客 6155

SpringBoot启动失败报错,spring.profiles.active:@env@中环境变量@无法识别报错_active: @env@

SpringBoot打包启动时无法识别到配置中的spring.profiles.active=@env@环境变量。

Ecloss 2468

Docker Compose V2 编排实战:1 个文件部署 3 服务(Nginx+Spring Boot+MySQL)

本文详细介绍了如何使用Docker Compose V2编排工具,通过一个配置文件实现Nginx、Spring Boot和MySQL三个服务的快速部署。文章涵盖环境准备、服务依赖管理、健康检查机制及多环境配置等核心内容,帮助开发者高效管理容器化应用,提升项目部署效率。

weixin_34245749的博客 720

SpringBoot启动失败报错,spring.profiles.active:@env@中环境变量@无法识别报错

今天开发中碰到的问题,报错内容如下: Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found character '@' that cannot start any token. (Do not use @ for indentation) in 'reader', line 3, column 13: active: @env@

恋曦℡的博客 1万+

云效Flow实战:从零构建一条Java应用CI/CD流水线

本文详细介绍了如何使用阿里云云效Flow从零构建一条Java应用的CI/CD流水线。通过环境准备、流水线创建、构建任务配置和主机部署实战,帮助开发者实现自动化构建、测试和部署,提升开发效率和系统可靠性。文章还提供了多环境配置管理和生产环境最佳实践等高级技巧。

weixin_30580341的博客 225

Windows环境下如何通过MCP Server实现MySQL安全连接与AI集成?

本文详细介绍了在Windows环境下如何通过MCP Server实现MySQL安全连接与AI集成。MCP Server作为大模型与MySQL之间的安全通道,提供权限控制、SSL加密和协议转换功能,显著提升查询性能。文章包含环境配置、安装指南、安全策略及实战案例,帮助开发者高效实现AI与数据库的安全交互。

hill8的博客 720

Spring Boot 配置文件之 多环境变量-三

多环境 通过在application.properties中配置下面的属性来实现 # PROFILES spring.profiles.active= # Comma-separated list of active profiles. Can be overridden by a command line switch. dev ## 家乡属性 Dev home.province=广东-de...

小城我家 1414

Python数据分析案例——宏观经济指标与沪深指数实证研究分析

沪深300指数与宏观经济指标关联性研究:2015-2024实证分析 摘要:本文基于2015-2024年月度数据,采用多元回归方法分析宏观经济指标对沪深300指数的影响。研究发现,市场情绪(SEN)、美国利率(STY)、美元指数(DXY)、狭义货币供应量(M1)和CPI对指数具有显著解释力(P<0.05),而GDP、LPR等传统指标影响不显著。模型解释力达62%(R²=0.62),表明A股短期走势更受资金流动、投资者心理和国际金融条件驱动。研究为投资者提供了除基本面外的市场预判指标,建议关注M1增速、美

weixin_50902344的博客 1404

Spring Boot系列 - 5. 不同的环境使用不同的配置

Spring Boot系列 - 5. 不同的环境使用不同的配置

Think Different 4001

LVGL配置文件lv_conf.h详解

lv_conf.h是一个用户级别的文件,它不属于内核的部分,因此,在不同的工程中,该文件有可能存在差异。lv_conf.h文件具有两大功能:(1)配置功能:内存、屏幕刷新周期、输入设备的读取周期,等等;(2)裁剪功能:使能失能某些功能,有效地优化Flash的分配。

qq_28576837的博客 5559

【软件逆向学习记录】x64dbg调试器入门2:主调试窗口功能及字符串搜索功能介绍

在x64dbg中, ​​CPU视图 是调试过程中最核心的界面,通常被称为​​主调试窗口​​或​​调试视图​​,总体分为四个区域,代码区(反汇编),数据区(内存窗口),寄存器区和堆栈区,详细位置如下图:示例数据代码区最左侧为内存地址,第二块区域为程序代码值,原始程序代码经编译和汇编后变为二进制机器码存储在计算机中,调试器将其展示为易于阅读的十六进制,第三块区域是机器码反汇编后的汇编代码,最右侧为代码的注释窗口,有一些原始的注释,也可以自己添加注释PS:汇编和反汇编解释。

tusikong的博客 2922

SpringBoot yml 配置

1. 在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量的定义,参数的设置等。下面来说说两者的区别。 application.properties 配置文件在写的时候要写完整,如: spring.profiles.active=devspring...

weixin_30951231的博客 492

别再只仿真原理图了!用ADS做微带功分器,版图仿真这一步才是关键

本文深入探讨了使用ADS进行微带功分器设计时版图仿真的重要性,指出原理图仿真与版图仿真的本质差异及其对性能的影响。通过详细分析版图效应、关键设置和优化策略,帮助工程师避免常见陷阱,提升设计效率和准确性。文章特别强调了版图仿真在确保微波电路性能中的关键作用。

weixin_42561476的博客 412

在pom.xml中进行profile配置

一直只会使用,但不知道怎么配置的。所以自己配配看。 本小白启初的想法是-------在application.properties里指定需要加载的配置文件和自定义属性,就可以啦。 于是做了如下操作: 先建立两个配置文件,分别命名为 application-dev.properties 和 application-prod.properties。 并且在配置文件中,分别自定义属性 ...

weixin_34269583的博客 955

AI 大模型应用数据中心的数据清洗工具

1. 背景介绍 在人工智能大模型应用的浪潮中,数据清洗作为数据预处理的重要环节,对于提升模型性能和可靠性具有至关重要的作用。数据中心作为人工智能模型的运行环境,面临着海量数据流和多样化的数据类型,如何高效、准确地进行数据清洗,成为应用大模型的关键问题之一。本文将详细介绍AI大模型应用数据中心的数据清洗工具,包括核心概念、算法原理、具体操作步骤、应用场

SuperAGI2025 1803

ESP32设备驱动-TM1637-驱动4位7段数码管

TM1637是一款带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成了MCU数字接口、数据锁存、LED高压驱动、键盘扫描等功能。 TM1637使用DIP20/SOP20封装,主要适用于电磁炉、微波炉、小家电的显示驱动。

视觉与物联智能 2116

springboot application无法使用$获取pom变量问题

在maven的pom文件中进行了多环境变量配置,引用了maven-resources-plugin,在application.properties文件中通过以下配置指定不同环境下的配置文件, spring.profiles.active = ${profiles.active} 但是${profiles.active}无法从pom文件中获取变量值替换。 由于${}方式会被maven处理...

东先森的博客 6069

100天精通Python(可视化篇)——第98天:Pyecharts绘制多种炫酷日历图参数说明+代码实战

一、日历图介绍 二、基础配置 1. 配置项类 2. 添加函数 3. 日期标签配置 4. 坐标系配置 三、日历图实战 1. 基础日历图 2. 日历热图

努力让自己发光,对的人才能迎着光而来 2万+

避坑指南:Spring Boot+Vue项目部署到服务器时常见的10个问题及解决方案

本文详细解析了Spring Boot+Vue前后端分离项目部署到服务器时常见的10个问题及解决方案,包括端口冲突、静态资源404、跨域问题、数据库连接失败等。通过实战案例和配置示例,帮助开发者高效避坑,确保项目顺利部署。

weixin_30329623的博客 407

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

读懂config.json:SGLANG-EAGLE3-Qwen3-30B-A3B-Nex-N1单层架构与草稿词表下采样设计剖析

SGLANG-EAGLE3-Qwen3-30B-A3B-Nex-N1 是一个专为 Qwen3-30B-A3B-Nex-N1 大模型打造的 **EAGLE3 推测解码(Speculative Decoding)草稿模型**。它只有一层 Transformer,却能在不改变生成结果的前提下显著提升推理吞吐量。本文带你逐行读懂 [config.json](https://link.gitcode.com

gitblog_00495的博客 191

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

从Docker Compose无缝迁移到Podman Compose:一个Java开发者的真实踩坑与配置指南

本文详细介绍了Java开发者如何从Docker Compose无缝迁移到Podman Compose的实战经验。通过对比Docker与Podman的差异,提供完整的配置指南和优化技巧,帮助开发者解决多容器编排中的常见问题,提升开发环境的安全性和性能。

weixin_30485379的博客 780

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Eggblog博客部署文档

本文整理了Egg-blog个人博客的部署文档和相关补充说明。主要内容包括: 部署MinIO的两种方案: 安装MinIO 2022-01版本,提供详细的Docker和docker-compose配置 使用minio-client命令行设置桶访问策略,替代原帖的S3策略 部署一言接口的Docker配置,需配合Redis使用 音乐模块(GlassMusicPlayer)的部署指南: 环境要求(Node.js≥22, pnpm≥10) 快速启动步骤 环境变量配置说明 可用脚本列表 Nginx配置示例: 前台管理界面

AmazningEgg的博客 783

spring boot使用logback实现多环境日志配置

问题1: 使用application.yml配置多环境变量,使用logback.xml实现日志配置,不能实现多环境配置(logback配置未生效) application.yml spring:   profiles.active: dev --- spring:   profiles: dev log:   path: ./logs   level: debug -

那些事 5万+

若依框架部署上线5大坑点实录:从头像回显到405报错全解决

本文详细解析了若依框架部署上线过程中常见的5大坑点,包括用户头像回显失效、验证码不显示、Nginx路由配置、405报错及环境变量管理。通过实战经验分享和具体配置示例,帮助开发者高效解决部署难题,确保项目顺利上线。

weixin_30329623的博客 192

drawio-skill 快速入门指南:一句话生成专业、可编辑的架构图

drawio-skill 是一个面向 AI Agent 的技能(skill),能把自然语言描述和真实项目源码变成可编辑的 `.drawio` 架构图。装好之后,你只需对 Agent 说一句"画一个微服务架构图",它会自动规划布局、写出 XML、导出 PNG,并回头检查图片、自行修复重叠与断线。本指南按"接入 → 第一张图 → 幕后流程 → 日常使用 → 样式定制 → 团队协作"的时间线,带你走完全

gitblog_00485的博客 348
上一篇: MongoDB的shell小工具-通过关联值更新collection
下一篇: windowns系统npm默认配置文件
java_augur
博客等级 码龄22年 67粉丝 64原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值