springboot开发环境生产环境配置文件切换

2023-11-09

一、单个文件切换环境里,在application.yml配置文件中添加如下信息

server:
  port: 8081
spring:
  profiles:
    active: prod #激活prod生产环境

---
server:
  port: 8083
spring:
    profiles: dev

---
server:
  port: 8084
spring:
  profiles: prod

二、或者修改idea里面的启动d的命令行参数
主要也是在本地开发时候使用
idea在启动的时候会优先加载这里面设置的参数内容
在这里插入图片描述

三、修改虚拟机参数配置
添加 -Dspring.profiles.active=dev
在这里插入图片描述

四、当项目打包之后部署的时候也可以修改其部署环境

java -jar .\springbootStudy-1.0-SNAPSHOT.jar --spring.profiles.active=dev

五、@Profile实现条件装配功能
比如在类上面添加注解@Profile(“prod”)即可实现不同环境下的切换
application-prod.yaml配置文件

person:
  username: prod_user
  age: 12

application-test.yaml配置文件

person:
  username: test_user
  age: 33

创建一个新的接口Person

public interface Person {
    String getUsername();
    Integer getAge();
}

Person的两个实现类Boss和Worker,要求Boss在pro开发环境下生效,Woker在test环境下生效,就可以如下配置

@Profile("prod")
@Component
@ConfigurationProperties("person")
@Data
public class Boss implements Person {
    private String username;
    private Integer age;
}

@Profile("test")
@Component
@ConfigurationProperties("person")
@Data
public class Worker implements Person {
    private String username;
    private Integer age;
}

@RestController()
@RequestMapping("/user")
public class UserController {
    @Autowired
    private Person person;
    @GetMapping("/person")
    public Person profiletest(){
        return person;
    }
}

当我们在配置类中页需要根据环境切换参数的时候,也可以使用@Profile条件装配这种方式。

@Configuration
@Profile("prod")
public class Myconfg {
    @Bean
    public MyColor getColor() {
        return new MyColor();
    }

}

六、profile分组管理

是在开发 中我们会遇到编写多个配置文件的情况,对于这么多的配置文件,我们可以进行profile分组管理

在这里插入图片描述
在application.properties中添加如下配置信息

#激活prod和pdd两个配置文件
spring.profiles.active=myprod  
spring.profiles.group.myprod[0]=pdd
spring.profiles.group.myprod[1]=prod

# spring.profiles.active=test  激活test配置文件
spring.profiles.group.mytest[0]=test

激活的配置文件是application-pdd.yaml和application-prod.yaml两个文件,
如果还有其他配置文件,直接按照数组顺序添加进来即可。
如果想要激活appplication-test.yaml配置文件,只需要改成spring.profiles.active=mytest即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot开发环境生产环境配置文件切换 的相关文章

随机推荐

  • JAVA练习34-验证回文串

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 目录 前言 一 题目 验证回文串 1 题目描述 2 思路与代码 2 1 思路 2 2 代码 总结 前言 提示 这里可以添加本文要记录的大概内容 1月29日练习内容 提示 以下
  • Gin的使用

    Gin框架 gin框架路由使用前缀树 路由注册的过程是构造前缀树的过程 路由匹配的过程就是查找前缀树的过程 gin框架的中间件函数和处理函数是以切片形式的调用链条存在的 我们可以顺序调用也可以借助c Next 方法实现嵌套调用 借助c Se
  • BigDecimal比较大小问题

    BigDecimal比较大小 这个类是Java里精确计算的类 下面说一下两个BigDecimal对象大小 相等的判断 1比较对象是否相等 一般的对象用于等于 但是BigDecimal比较特殊 举个例子 BigDecimal a1 new B
  • android 下拉状态栏(SystemUI)常见修改记录

    摘要 下拉状态栏 1 下拉状态栏的亮度条 frameworks base packages SystemUI src com android systemui qs QSPanel javamBrightnessView对应布局文件 qui
  • 爬虫实例8(os模块的用法)

    import requests import os url https ss3 bdstatic com 70cFv8Sh Q1YnxGkpoWK1HF6hhy it u 460770515 1829173594 fm 26 gp 0 jp
  • 什么是数字水印

    经常有文章把数字签名和数字水印 傻傻分不清 那今天就介绍一下数字水印 一 数字水印技术原理 数字水印是一种信息隐藏技术 它利用人体感官的限制 将数字信号 如图像 文字 符号 数字等一切可以作为标记 标识的信息与原始数据 如图像 音频 视频数
  • 替代for循环,让Python代码更pythonic

    通常如下使用场景中会用到 for 循环 在一个序列来提取一些信息 从一个序列生成另一个序列 写 for 已成习惯 幸运的是 Python 已经有很多工具可以帮助你完成这些工作 你只需要转移你的思路 并以不同的角度来思考它 通过避免编写 fo
  • Pycharm更换python解释器

    Pycharm工程如何更换pycharm解析器 Mac Pycharm gt Preferences 然后会出来如下界面 Windows file gt Default Settings
  • leetcode 300. 最长递增子序列

    2023 8 23 本题也是dp算法解决的经典题型 dp i 的含义 数组前i个元素的最长递增子序列长度 不多说 直接上代码 class Solution public int lengthOfLIS vector
  • 为什么Git用SHA做版本控制,而非像SVN用int数字或者是时间戳

    在分布式领域中 做的最出色的莫过于Git 而Git主要强大之处就在于运用sha作为版本控制的算法 而许多分布式架构的项目也都意义效仿 而sha算法为什么如此神奇呢 SHA是什么 百度百科定义是 安全散列算法 英语 Secure Hash A
  • pycharm+gitee安装与配置

    下载安装 1 下载地址 https www jetbrains com pycharm download section windows 选择这个免费版进行安装 2 自定义安装路径 3 根据自己的需求选择项 点击下一步 一步步的安装下去就行
  • please select a valid python interpreter(请选择一个解释器)

    1 更改Pycharm的设置 打开settings CTRL ALT S 或者file gt settings 2 在查询框中输interpreter 进行查询 3 选择界面右边上的配置按钮 右击选择add local 4 选择system
  • Linux服务器成功安装CUDA11.3和cudnn

    说在前面 NVIDIA的显卡驱动与CUDA的版本并不是严格的一一对应关系 CUDA实际上也只是一个工具包 我们可以根据自己的需求进行安装 即可以安装多个CUDA版本 同时CUDNN是一个SDK 专门用于神经网络的加速包 它与CUDA也没有严
  • 巨细!Python爬虫详解

    Python技术 爬虫 又称为网页蜘蛛 网络机器人 在 FOAF 社区中间 更经常的称为网页追逐者 它是一种按照一定的规则 自动地抓取网络信息的程序或者脚本 如果我们把互联网比作一张大的蜘蛛网 那一台计算机上的数据便是蜘蛛网上的一个猎物 而
  • 第十一章 GetAway服务网关详解

    目录 一 服务网关使用背景 二 服务网关的种类和区别 三 Gateway 简介 优点 缺点 Gateway组成 三 快速入门案例 1 创建网关服务 引入 GetAway 依赖 2 创建主类 3 配置GetAway网关服务 4 创建 订单服务
  • PyCharm安装教程,图文教程(超详细)

    作者简介 CSDN top100 阿里云博客专家 华为云享专家 网络安全领域优质创作者 推荐专栏 对网络安全感兴趣的小伙伴可以关注专栏 网络安全入门到精通 PyCharm 一 PyCharm下载安装 二 Python下载安装 三 创建项目
  • Unity点击物体后,移动到物体所在位置

    Unity点击物体后 移动到物体所在位置 方法一 OnMouse检测 需要Collider组件 脚本挂在被点击的物体上 using System Collections Generic using UnityEngine using Uni
  • 【Python】字典dict 基础用法

    参考资料 Python字典 Dictionary 操作全解 创建 读取 修改 添加 删除 有序字典 浅复制 排序 字典是 键 值 对的无序可变序列 字典中的每个元素可以分为两部分 键 和 值 定义字典时 每个元素的 键 和 值 用冒号分隔
  • 朴素贝叶斯分类器

    贝叶斯分类器 优点 数据较少任然有效 可以处理多类别的问题 缺点 输入数据准备方式比价敏感 数据类型 标称型数据 朴素贝叶斯决策理论 假设有两类数据 A 和 B 假设有两类数据 A和B 假设有两类数据 A和B 平面直角坐标
  • springboot开发环境生产环境配置文件切换

    一 单个文件切换环境里 在application yml配置文件中添加如下信息 server port 8081 spring profiles active prod 激活prod生产环境 server port 8083 spring