编辑 SpringBoot|第五章:多环境配置

Apollo配置中心多环境配置使用日记 Apollo配置中心多环境配置使用日记 本文记录了我在使用Apollo配置中心进行同一台服务器多环境配置时的全部详细记录。 一、 开发环境构建(不细说,不懂就百度) 1、开发端: win7+mysql5.7+idea-2020.3+navcat+jdk1.8 2、服务器:CenTos7+jdk1.8+MySql5.7 3、Apollo多环境配置的要点是,每多配置一个环境就多启动两套服务(apollo-adminsevice+apollo- configservice),apollo-portal服 阅读详情

前言

写上一篇看英文资料,耗费了心力呀,这章,相对来说简单点。也比较熟悉,但是这很实用。不扯了,开始~

多环境配置

在开发应用时,常用部署的应用是多个的,比如:开发、测试、联调、生产等不同的应用环境,这些应用环境都对应不同的配置项,比如swagger一般上在生产时是关闭的;不同环境数据库地址、端口号等都是不尽相同的,要是没有多环境的自由切换,部署起来是很繁琐也容易出错的。

maven的多环境配置

在没有使用过springboot的多环境配置时,原先是利用maven的profile功能进行多环境配置,这里我简单回顾下。

maven配置

dev

true

8080

test

8888

src/main/resources

**/*

${project.basedir}/src/main/resources

**/*.properties


true

maven-resources-plugin

utf-8


true

org.springframework.boot

spring-boot-maven-plugin

然后编译时,加入-Ptest,则会替换test环境下的参数值。 完整参数:

1

mvn clean install -DskipTests -Ptest

application.properties

1

server.port=${pom.port}

利用maven实现多环境配置,比较麻烦的就是每次部署新环境时,都需要再次指定环境编译打包一次。一下进入主题,springboot的多环境,比较优雅了许多。

springboot多环境配置

Profile是Spring针对不同环境不同配置的支持。需要满足application-{profile}.properties,{profile}对应你的环境标识。如:

application-dev.properties:开发环境

application-test.properties:测试环境

13467292-f06630a44d7bed5a

而指定执行哪份配置文件,只需要在application.properties配置spring.profiles.active为对应${profile}的值。

# 指定环境为dev

spring.profiles.active=dev

则会加载:application-dev.properties的配置内容。

2018-07-15 14:52:41.304 INFO 15496 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)

2018-07-15 14:52:41.310 INFO 15496 --- [ main] c.l.l.s.chapter5.Chapter5Application : Started Chapter5Application in 8.506 seconds (JVM running for 10.81)

2018-07-15 14:52:41.316 INFO 15496 --- [ main] c.l.l.s.chapter5.Chapter5Application : 多环境应用启动.

还可以在**命令行方式**激活不同环境配置,如

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

此时就会加载application-test.properties的配置内容。 test:

13467292-7dcf8e11b4c5b6e9
13467292-4c867d180ced4704

这里顺便提一句,可能在不同环境下,可能加载不同的bean时,可利用@Profile注解来动态激活

@Profile("dev")//支持数组:@Profile({"dev","test"})

@Configuration

@Slf4j

public class ProfileBean {

@PostConstruct

public void init() {

log.info("dev环境下激活");

}

}

启动时。控制台输出:

1

2018-07-15 15:04:44.540 INFO 11876 --- [ main] c.l.l.springboot.chapter5.ProfileBean : dev环境下激活


如果你现在在JAVA这条路上挣扎,也想在IT行业拿高薪,可以参加我们的训练营课程,选择最适合自己的课程学习,技术大牛亲授,7个月后,进入名企拿高薪。我们的课程内容有:Java工程化、高性能及分布式、高性能、高架构、性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,q群号为:835638062

注:加群要求

1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知

SpringBoot多环境配置实战:3种方法详解与选型指南 在软件工程实践中,配置管理是保障应用在不同生命周期阶段(开发、测试、生产)稳定运行的关键环节。其核心原理在于通过环境隔离机制,将可变配置与代码解耦,实现一套代码适应多种部署场景。这项技术的核心价值在于提升开发效率、保障部署安全,并实现CI/CD流程的自动化。典型的应用场景包括微服务架构下的服务部署、团队协作开发以及云原生环境中的应用发布。SpringBoot作为主流的Java开发框架,其YAML多环境配置方案提供了多种实现路径,例如通过单一文件多Profile文档块实现集中管理,或利用独立的`applica 阅读详情

相关推荐

UE5.2 DynamicMesh避坑指南:从蓝图生成到物理碰撞的完整流程

本文详细解析了在UE5.2中使用DynamicMesh组件时,如何正确选择ADynamicMeshActor与AGeneratedDynamicMeshActor,并提供了从蓝图生成、初始化到配置物理碰撞的完整避坑流程。重点解决了SpawnActor失效、碰撞更新等常见问题,帮助开发者高效实现程序化网格生成与动态变形效果。

rrr55的博客 314

Java-SpringBoot-多环境配置

多配置文件         我们在使用Spring Boot开发应用或者服务时,通常同一个应用程序或者服务会部署到不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事。对于多个环境的配置,各种项目构建工具或是框架的基本思路是一致的,通过配置多份不同环境的配置文件,再通过打包命...

scdncby的博客 795

《第二十二篇》Cross-Attention:注意力机制详解-代码实现和公式详解《二》

本文详细介绍了Cross-Attention的原理、公式和实现。Cross-Attention用于Transformer解码器和Encoder-Decoder结构,通过查询向量(Q)与键、值向量(K、V)的交互实现序列对齐。核心公式为softmax(QK^T/√d_k)V,其中Q来自Decoder,K、V来自Encoder。文章还给出了多头注意力机制公式和PyTorch实现代码,包括投影计算、注意力分数计算和输出处理。代码示例展示了如何构建一个完整的Cross-Attention模块,并演示了其在解码器查询

guoguozgw的博客 2214

springboot多环境配置_编辑 SpringBoot|第五章:多环境配置

多环境配置在开发应用时,常用部署的应用是多个的,比如:开发、测试、联调、生产等不同的应用环境,这些应用环境都对应不同的配置项,比如swagger一般上在生产时是关闭的;不同环境数据库地址、端口号等都是不尽相同的,要是没有多环境的自由切换,部署起来是很繁琐也容易出错的。maven的多环境配置在没有使用过springboot的多环境配置时,原先是利用maven的profile功能进行多环境配置,这里我...

weixin_39625305的博客 73

Gartner 2025 中国网络安全成熟度曲线深度解读:AI 安全如何重构防御逻辑

2025 年 Gartner 中国网络安全技术成熟度曲线的发布,标志着国内网络安全领域正式进入 “AI 原生防御” 时代。这份聚焦中国市场特性的报告清晰揭示:网络安全的核心命题已从 “防御 AI 驱动的攻击” 演进为 “保障 AI 系统自身安全与业务协同”,AI 安全技术正成为重构企业防御体系的核心引擎。

KKKlucifer的博客 1389

基于光电传感的非接触式酒精浓度检测系统设计与实现

本文详细介绍了基于光电传感技术的非接触式酒精浓度检测系统设计与实现。系统利用940nm红外LED和OPT101光电传感器,结合朗伯-比尔定律,通过STM32微控制器进行信号采集与处理,实现了快速、准确的酒精浓度测量,测量精度达±1%,适用于工业检测和便携式应用场景。

y7z8a的博客 365

【SpringBoot】多环境切换的灵活配置

灵活使用环境变量启用不同的 profile灵活使用 spring.profiles.include 激活多个配置最后 application.properties 和 application.yml 是一样的使用方法如果你使用 nacos 也可以实现同样的效果,但是需要引入中间件,不推荐。

阿Q的小窝 5244

pikachu靶场: 暴力破解第四关(token防爆破)

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个 Token 同时将此 Token 返回给客户端。此外,Token 是有时效的,一段时间之后或下一次请求时用户需要重新验证。

X_shiguang的博客 1720

SpringBoot项目部署、属性配置方式及多环境开发

遇到的问题: 打包过程中遇到test测试错误 java在IDEA编辑的无异常,但是运行时报错: Error: A JNI error has occurred, please check your installation and try again Exception in thread “main” 这个错误信息表明你正在尝试运行的Java程序是使用一个较新版本的Java(Java 17,由class file version 61.0表示)编译的,而你当前的Java运行环境只支持到Java 8(由c

m0_73739654的博客 1948

【Godot4自学手册】第一节配置Godot运行环境

Godot是一款自由开源、由社区驱动的 2D 和 3D 游戏引擎!它是一款功能丰富的跨平台游戏引擎,可以通过统一的界面创建 2D 和 3D 游戏。它提供了一套全面的通用工具,因此用户可以专注于制作游戏,而无需重新发明轮子。游戏可以一键导出到多个平台,包括主流的桌面平台(Linux、macOS、Windows)、移动平台(Android、iOS)、基于 Web 的平台以及主机平台。

zhaoyang314的博客 5986

STM32——IIC(I2C)中断与DMA通信实战解析

本文深入解析STM32的IIC(I2C)通信中断与DMA实战应用。通过对比轮询方式的低效,详细介绍中断模式和DMA模式的实现原理、状态机编程技巧及性能优化策略,并结合SHT30传感器案例展示如何高效读取数据,显著提升系统响应速度和CPU利用率。

week9的博客 808

基于maven的springboot多环境yml配置文件切换与隔离

在实际开发过程中,我们经常需要面对开发环境、测试环境与生产环境进行yml配置文件的切换,使用注释切换与手工替换的方式效率较低;且不同环境下的配置需求也经常不一样,这样会造成少改、漏改和错改的问题。为解决这个问题,我们可以借助maven的profile进行多环境的配置文件切换,本文将介绍基于maven的springboot多环境yml配置文件切换的配置步骤。 注:开发环境-dev,测试环境-t...

TanzJ的博客 1万+

国产系统(统信 UOS )漏洞修复方式

2.1 服务器版(单漏洞更新):服务器标准版:yum upgrade-minimal --cve “CVE编号”服务器 D 版:sudo apt update&&sudo apt install “受影响的软件包”1 统信 UOS 漏洞修复方式在线升级修复桌面专业版:通过以下步骤打开在线升级:控制中心–>更新–>更新设置–>打开系统更新、安全更新。安装过程中,请勾选“我已阅读并知晓”,然后点击“开始升级”。2 点击“检查更新”–“全部下载”,如果不想进行系统更新,可以选择只下载“安全更新”。

Reyn_观极 5023

SpringBoot多环境配置实战与最佳实践

在软件开发中,多环境配置是实现持续交付的重要基础。通过SpringBoot的Profile机制,开发者可以轻松管理开发、测试、生产等不同环境的配置差异。其核心原理是基于环境隔离的配置加载策略,支持属性文件、环境变量、命令行参数等多种配置源。这种技术方案能有效提升部署效率,避免人工修改配置导致的错误,特别适合金融、电商等对配置准确性要求高的领域。结合配置中心和Docker等现代化部署工具,可以实现企业级的多环境配置管理。本文以SpringBoot多环境配置为例,详解从基础实现到微服务架构下的高级应用方案。

weixin_34409357的博客 447

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SpringBoot — 多环境配置

前言 软件开发中,一般都会存在多个环境,而各个环境之间的配置可能存在或多或少的差异,而每次变更环境的时候都需要进行重新配置,这不止麻烦也容易遗漏部分配置的修改,造成错误,浪费不必要的时间,而如若设置多环境则就会缓解该问题。 正文 1.在pom中定义环境的profiles <profiles> <!-- 开发环境 --> ...

姚句的博客 293

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringBoot 多环境配置--常用两种方式

一、前言 当我们正式开始工作生涯后,最先发现商业项目和我们自己写的项目的不同之一就是:怎么这么多配置文件啊!! 就按照最普遍的:开发、测试、预发(仿真)和线上来说,一个项目就至少有四套配置了,那么我们到底要如何配置多环境呢? 二、Multiple Application 目前使用比较多的是配置多个application-{profile}.yml或者多个application-{profile}.properties文件的写法,一张图就能解释清楚了,如下图所示。 首先配置不同环境的 ap...

zhoujiyu123的专栏 7605

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SpringBoot实现多环境配置的两种方式

现准备如下配置文件,三个环置,分别为dev、test、prod,每个环节对于的服务端口号不一样,dev端口是8001,test端口是8002,prod端口是8003: 想要实现多环境的动态配置有如下两类方式 : 一、通过SpringBoot的属性spring.profiles.active实现 这种方式实现多环境动态配置有两种方式,第一种是通过设置程序参数实现,在IDEA中编辑配置项Program arguments,增加参数:...

ilove_study的博客 2182

SpringMVC和SpringBoot开发环境、生产环境的多环境配置

Java服务端开发的时候像数据库连接,缓存连接等配置都要区分开发环境和正式环境,可能还有测试环境等。这里介绍一下方便区分和管理不同环境配置文件的方法。 SpringMVC多环境配置 我的代码工程是maven工程,所有这里就以maven工程为例子。 1.创建多环境配置文件存放目录 如上图所示,在main目录下面创建/filters目录,再根据不同的环境创建不同的目录,我平常使用4种环境配...

现场喷口水的专栏 1160

SpringBoot(二)SpringBoot多环境配置

properties文件.yml文件我们可以再SpringBoot配置文件中添加一些自定义配置,然后通过@Value读取配置的属性值。## 设置端口号## 设置服务名称## 设置上下文,设置后访问服务时需要在url前面拼上设置的内容,这里一般设置为服务名称#指定激活的配置文件#自定义配置使用@Value在Dao中读取自定义配置的属性值最后编辑于:2020-08-19 16:27©著作权归作者所有,转载或内容合作请联系作者。

qq_24428851的博客 840

java编辑yml_springboot 多环境配置 yml文件版的实现方法

关于 dev、sit、uat、prod多环境切换的配置最近小伙伴跟杨洋我聊到了多环境配置的问题,网上的大部分教程都是copy的,很多文章根本就没法用,小伙伴很苦恼啊,于是心(yu)地(shu)善(lin)良(feng)的杨洋回去写了个demo给了小伙 , 那么这边文章呢,正好给大家讲解下关于springboot 的多环境配置科普时间:dev、sit、uat、prod是什么呢?首先给刚接触的小伙伴们...

weixin_39578513的博客 591

SpringBoot YML配置详解:语法、注入与多环境管理

YAML作为现代应用配置的标准格式,通过树形结构和严格缩进规则实现高可读性的配置管理。其核心原理是通过键值对和缩进层级表达复杂数据结构,支持标量、集合等原生数据类型。在SpringBoot生态中,YML配置文件相比Properties文件具有更优的结构化表达能力,特别适合微服务架构下的配置管理。开发中可通过@Value注解、@ConfigurationProperties绑定等五种方式实现配置注入,其中类型安全的批量绑定是SpringBoot推荐的最佳实践。结合Profile机制可实现多环境配置切换,而配置

weixin_30911451的博客 415

SpringBoot多环境配置yml文件以及引用外部配置文件的两种方式,以及读取yml配置内容

作者环境:SpringBoot 2.1.4.RELEASE 多环境配置 不同环境的配置yml文件名不一样: appointment.yml appointment-dev.yml(开发环境) appointment-test.yml(测试环境) appointment-prod.yml(正式环境) yml示例 application.yml 示例: 注意:配置多环境yml 文件必须是a...

qq_36174487的博客 2万+

【Spring Boot】Spring Boot 如何配置多环境

通常一个公司的应程序可能在开发环境(dev)、测试环境(test)、生产环境(prod)中运行。那么是不是需要拷贝不同的安装包,在不同的环境下运行呢?完全不用,在 Spring Boot 中一切已经为我们准备就绪,只需要简单的配置,你的程序就能在不同的环境中运行。

A-Itfuture的博客 3026

SpringBoot项目集成热部署及配置多环境

SpringBoot项目集成热部署及配置多环境 包括:编译器设置、启动配置、引入依赖、主配置/开发/生产环境的配置

TechExplorer365的博客 430

Maven filter 实现 SpringBoot 多环境配置

一、前言 当我们正式开始工作生涯后,最先发现商业项目和我们自己写的项目的不同之一就是:怎么这么多配置文件啊!! 就按照最普遍的:开发、测试、预发(仿真)和线上来说,一个项目就至少有四套配置了,那么我们到底要如何配置多环境呢? 二、Multiple Application 目前使用比较多的是配置多个 application-{profile}.yml 文件的写法,一张图就能解释清楚了,如下图所示。 ...

Jitwxs 1744
上一篇: 分布式锁实现:Redis
下一篇: SpringBoot|第六章:常用注解介绍及简单使用
普通网友
博客等级 码龄8年 55粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值