IntelliJ IDEA下Spring Boot多环境配置教程

🌟🌌 欢迎来到知识与创意的殿堂 — 远见阁小民的世界!🚀
🌟🧭 在这里,我们一起探索技术的奥秘,一起在知识的海洋中遨游。
🌟🧭 在这里,每个错误都是成长的阶梯,每条建议都是前进的动力。
🌟🧭 在这里,我们一起成长,一起进步,让我们在知识的世界里畅游无阻,共同创造一个充满智慧和创新的明天。
🌟📚 点击关注,加入我们的技术探索之旅吧!❤️📖✨
✨博客主页:远见阁小民的主页
📕本文专栏:后端专栏
📕其他专栏:Linux专栏 AI专栏 Python专栏 其他专栏

1 前言

  在现代软件开发中,随着项目的不断扩大和团队协作的需要,将应用配置根据不同的环境(如开发、测试、生产等)进行分离和管理变得尤为重要。

  这种做法不仅有助于维护配置的清晰度和灵活性,还能确保在不同环境中应用的平稳运行。

  若依系统作为一个灵活且功能丰富的企业级开发平台,已经内置了application.yml和application-druid.yml两个基础配置文件,为我们提供了一个良好的起点。

  本文旨在演示如何为若依系统增加针对开发环境(dev)和生产环境(prod)的配置文件,从而实现配置管理的最佳实践。

  通过这种方式,我们可以轻松切换环境配置,确保在不同阶段的开发流程中,应用都能在最适合的配置下运行。

  这不仅提高了开发效率,也大大降低了因配置不当导致的运行时问题。

  接下来,让我们一起探索如何实现这一目标。

2 实操演示

在这里插入图片描述

2.1 开始配置

(1)将application-druid.yml 改名为 application-dev.yml

(2)基于application-dev.yml 复制新增一个application-prod.yml

完成后的效果如下图所示👇
在这里插入图片描述

2.2 启动环境测试效果

  在application.yml中这样配置(启动prod环境同理,这里就不再展示了)

配置示意图👇

在这里插入图片描述

启动示意图👇

在这里插入图片描述

  我们也可以这样修改配置,这种配置方法要比在application.yml中修改优先级要高,看最终运行效果我们可以发现,在application.yml中的dev配置并没有生效

修改配置👇

在这里插入图片描述
在这里插入图片描述

启动效果👇

在这里插入图片描述

3 Spring Boot的配置文件解析(加餐)

3.1 通用配置

  application.yml或application.properties是所有环境共享的基础配置,Spring Boot首先加载这个文件中的配置,它为应用程序提供了一组默认设置。

3.2 环境特定配置

  application-{profile}.yml

  {profile}代表应用程序运行的环境(例如dev、prod等),Spring Boot允许为不同的环境指定不同的配置文件,比如application-dev.yml针对开发环境,application-prod.yml针对生产环境。

  当激活一个特定的环境配置时,Spring Boot会加载对应的环境配置文件,并且这些配置会覆盖application.yml中的相应配置。

3.3 激活环境的方式

  可以通过多种方式激活特定的环境配置,例如通过设置spring.profiles.active属性,这个属性可以在application.yml中直接设置,如下图所示

在这里插入图片描述

也可以通过命令行参数(如–spring.profiles.active=prod)或环境变量来设置。

命令行参数来指定激活的配置文件👇

java -jar your-application.jar --spring.profiles.active=prod

通过设置环境变量来指定激活的配置文件👇

export SPRING_PROFILES_ACTIVE=prod
java -jar your-application.jar

3.4 配置文件加载顺序

  首先加载application.yml中的配置,然后是激活的环境特定配置文件(如application-dev.yml或application-prod.yml)。

  如果在环境特定的配置文件中定义了与application.yml相同的配置,则环境特定的配置将覆盖application.yml中的配置。


  在本文中,我们深入探讨了通过命令行参数或环境变量来指定激活的配置文件,以及如何确保在不同环境中正确加载所需的配置。

  这些知识对于我们管理和优化应用程序配置至关重要。

  了解配置文件加载顺序并正确配置环境,是确保应用程序在不同情况下正确运行的关键。

  通过本文的学习,我们能够更好地应对开发、测试和生产环境中的配置需求,确保应用程序的稳定性和可维护性。

  总的来说,通过学习本文,我们对Spring Boot中多环境配置的方法有了更深入的理解,为我们未来的项目开发和部署提供了重要的指导和参考。

  最后,感谢您阅读本文,希望这些知识能够对您在实践中的应用有所帮助。

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

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

相关文章

基于51单片机烟雾报警器数码管显示( proteus仿真+程序+设计报告+讲解视频)

基于51单片机烟雾报警器数码管显示( proteus仿真程序设计报告讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0067 1. 主要功能: 基于51单片机的烟雾报警器proteus仿真设…

Spring中 Unsupported class file major version 61 报错

初学Spring时遇到的一个错误&#xff1a;Unsupported class file major version 61 &#xff0c;如图所示&#xff1a; 网上查了一下大概是JDK的版本与Spring的版本不一致导致的错误&#xff1b;刚开始我用的Spring版本是&#xff1a; <dependencies><dependency>…

PostgreSQL教程(十一):SQL语言(四)之数据类型

一、数值类型 数值类型由 2 字节、4 字节或 8 字节的整数以及 4 字节或 8 字节的浮点数和可选精度的十进制数组成。 下表列出了所有可用类型。 数值类型 名字存储长度描述范围smallint2 字节小范围整数-32768 到 32767integer4 字节常用的整数-2147483648 到 2147483647bigi…

个人建站前端篇(七)vite + vue3企业级项目模板

一、vite命令行创建项目 npm create vitelatest根据提示选择模板&#xff0c;选择vite vue3 ts即可。 二、项目连接远程仓库 git init git remote add origin https://gitee.com/niech_project/vite-vue3-template.git git pull origin master git checkout -b dev三、项目…

【GPU驱动开发】-mesa简介

前言 不必害怕未知&#xff0c;无需恐惧犯错&#xff0c;做一个Creator&#xff01; 一、mesa介绍 Mesa是OpenGL、Vulkan和其他图形API规范的开源实现。主要由Intel和AMD为其各自的硬件开发和资助。 AMD 在已弃用的AMD Catalyst上推广其 Mesa 驱动程序 Radeon 和 RadeonSI &…

C# 学习第四弹——字符串

一、char类型的使用 字符使用单引号&#xff0c;单个字符 转义字符是一种特殊的字符变量&#xff0c;以反斜线开头&#xff0c;后跟一个或多个字符。 输出多级目录可以使用 二、字符串的声明和初始化 1、引用字符串常量 引用字符串常量初始化——字符使用单引号&#xff0…

【达梦8】达梦8不支持联机恢复数据库和表空间

达梦8不支持联机恢复数据库和表空间&#xff0c;只支持联机恢复表。 恢复数据库和表空间仅支持脱机恢复。 各备份工具功能如下&#xff1a;

统计分析笔记3

文章目录 统计检验选择正确的统计检验统计检验是做什么的&#xff1f;何时进行统计检验选择参数化测试&#xff1a;回归、比较或相关性选择非参数检验 假设检验的假设条件skewness什么是零偏度right skewleft skew计算skewnesswhat to do if your data is skewed kurtosis怎么计…

移动Web系统中无监督KPI异常检测的监督式微调

简介 本文介绍由清华大学、南开大学、中国移动研究院与必示科技共同合作的论文&#xff1a;移动Web系统中无监督KPI异常检测的监督式微调。该论文已被The Web Conference 2024&#xff08;International World Wide Web Conference&#xff09;会议录用&#xff0c;论文标题为&…

VUE3搭载到服务器

1.搭建服务器 使用 Windows 自带的 IIS 作为服务器。 步骤如下&#xff1a;https://blog.csdn.net/qq_62464995/article/details/130140673 同时&#xff0c;上面的步骤中&#xff0c;还使用了 cpolar 将 IIS 本地网址映射到公共网址。 注&#xff1a; cpolar客户端&#xf…

微服务架构 SpringCloud

单体应用架构 将项目所有模块(功能)打成jar或者war&#xff0c;然后部署一个进程--医院挂号系统&#xff1b; > 优点: > 1:部署简单:由于是完整的结构体&#xff0c;可以直接部署在一个服务器上即可。 > 2:技术单一:项目不需要复杂的技术栈&#xff0c;往往一套熟悉的…

选择何种操作系统作为网站服务器

选择操作系统时&#xff0c;需考虑稳定性、安全性、成本、兼容性和技术支持等因素&#xff0c;常见选项有Windows Server和Linux发行版。 选择网站服务器的操作系统是一个关键的决策&#xff0c;因为它将影响到网站的性能、稳定性、安全性以及未来的扩展性&#xff0c;目前市场…

LabVIEW最佳传输系统设计

LabVIEW最佳传输系统设计 介绍了基于LabVIEW软件开发的最佳基带传输系统和最佳带通传输系统的设计。通过软件仿真实现了脉冲成形滤波器和匹配滤波器的设计&#xff0c;证明了系统在消除码间干扰和抗噪声方面的优异性能。此设计不仅激发了学生的学习兴趣&#xff0c;还有助于提…

kafka消费者接收不到消息

背景&#xff1a; 对kafka消息进行监听&#xff0c;生产者发了消息&#xff0c;但是消费端没有接到消息&#xff0c;监听代码 消费端&#xff0c;kafka配置 spring.kafka.bootstrap-serverskafka.cestc.dmp:9591 spring.kafka.properties.sasl.jaas.configorg.apache.kafka.…

《系统架构设计师教程(第2版)》第5章-软件工程基础知识-05-净室软件工程(CSE)

文章目录 1. 概述2. 理论基础2.1 函数理论2.2 抽样理论 3. 技术手段3.1 增量式开发3.2 基于函数的规范与设计3.3 正确性验证3.4 统计测试 (Statistically Based Testing) 和软件认证 4. 应用与缺点1&#xff09;太理论化2&#xff09;缺少传统模块测试3&#xff09;带有传统软件…

table展示子级踩坑

##elemenui中table通过row中是否有children进行判断是否展示子集&#xff0c;通过设置tree-prop的属性进行设置&#xff0c;子级的children的名字可以根据自己的子级名字进行替换&#xff0c;当然同样可以对数据处理成含有chilren的子级list。 问题&#xff1a; 1.如果是根据后…

香港服务器选择指南(挑选香港服务器的几个标准)

​  随着全球化的加速和互联网的普及&#xff0c;跨境访问和外贸活动越来越频繁。在这个背景下&#xff0c;香港服务器作为一种国际化的基础设施&#xff0c;受到了广泛欢迎。本文将探讨企业在选择香港服务器时应关注的几个标准事项。 1.可靠性和正常运行时间 停机可能会给企…

LeetCode 0938.二叉搜索树的范围和:深度优先搜索(可中序遍历)

【LetMeFly】938.二叉搜索树的范围和&#xff1a;深度优先搜索&#xff08;可中序遍历&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/range-sum-of-bst/ 给定二叉搜索树的根结点 root&#xff0c;返回值位于范围 [low, high] 之间的所有结点的值的和。…

LVS负载均衡服务器

简介: LVS (Linux Virtual Server):四层路由设备&#xff0c;是由中国人章文松研发的(阿里巴巴的副总裁)根据用户请求的IP与端口号实现将用户的请求分发至不同的主机。 工作原理: LVS工作在一台server上提供Directory(负载均衡器)的功能&#xff0c;本身并不提供服务&#xff…

【QT+QGIS跨平台编译】之五十三:【QGIS_CORE跨平台编译】—【qgssqlstatementparser.cpp生成】

文章目录 一、Bison二、生成来源三、构建过程一、Bison GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR (1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR (1) 或规范 LR (1) 解析表。一旦您熟练使用 Bison,您可以使用…