• 【SpringBoot】多环境配置


    👉 博客主页:准Java全栈开发工程师
    👉 00年出生,即将进入职场闯荡,目标赚钱,可能会有人觉得我格局小、觉得俗,但不得不承认这个世界已经不再是以一条线来分割的平面,而是围绕财富旋转的球面,成为有钱人不是为了去掌控球体的转向,而是当有人恶意掌控时,努力保护好家人和自己。

    一、为什么要配置多环境?

    当我们工作开发真实的项目时,可能会遇到不同的环境,如:开发环境、生产环境、测试环境等,不同的环境所需要的配置内容也会不尽相同,如果我们每次切换环境时再去配置对应的环境配置,肯定会降低我们的开发效率,所以,掌握多环境配置还是非常有必要的。

    二、如何进行多环境配置呢?

    • 我们还是以配置端口号为例,来演示如何进行多环境配置问题。

    1、针对 yaml 配置文件

    # 设置启用的环境
    spring:
      profiles:
        active: dev
    
    ---
    # 开发环境
    spring:
      profiles: dev  # 为开发环境命名
    server:
      port: 80
    
    ---
    # 生产环境
    spring:
      profiles: pro  # 为生产环境命名
    server:
      port: 81
    
    ---
    # 测试环境
    spring:
      profiles: test  # 为测试环境命名
    server:
      port: 82
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 不同的环境之间需要用 3 个 “ - ” 号作为分割。
    • 在需要使用哪个环境时,就将 active 的属性值声明为那个环境的名字。
    • 初始 port 端口号,还可以在配置其他信息,在此我就不再一一赘述了。

    2、针对 properties 配置文件

    • 使用 yaml 配置文件,一个文件就能够完成多环境的配置工作,但是如果使用 properties 配置文件的话,需要使用多文件才能够完成。
    主配置文件 application.properties
    # 设置启用的环境
    spring.profiles.active=dev
    
    • 1
    • 2
    开发环境 application-dev.properties
    server.port=80
    
    • 1
    生产环境 application-pro.properties
    server.port=81
    
    • 1
    测试环境 application-test.properties
    server.port=82
    
    • 1
    • 有多少个环境,就需要定义多少个配置文件,在自己的配置文件中配置环境内容。
    • 在主配置文件中声明使用哪个环境。

    三、命令行启动参数

    • 通常情况下,我们都会将做好的项目打包成 jar 包,那么,如果我们在命令行中执行 jar 包的时候能够完成切换环境的功能吗?还是说,我们必须在到 IDEA 开发工具中去配置文件中手动改变当前启用的环境呢?答案当然是否定的,我们可以通过命令行参数还完成环境的切换。

    第一步:打包项目

    • 打包工作在 【SpringBoot】快速入门 一文中有详细讲解,感兴趣的小伙伴可以移步查看。
    • 选中 package 后运行开始打包。

    在这里插入图片描述

    • 完成到找到相应的文件夹,执行 cmd 命令。

    第二步:输入命令行

    • 输入命令:java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=test

    在这里插入图片描述

    • 通过分析端口号能够发现,已经切换到了测试环境中。
    • 命令最后多了 “ --spring.profiles.active=test ” 部分内容,仔细观察是否发现,这和我们在配置文件中写的配置启用环境内容是不是非常像呢?没错,就是按照它写的。
    • 这就告诉我们,如果我们想使用命令行方式切换环境,可以使用上述方式进行。

    补充内容

    • 除了使用上述方式可以完成切换环境的操作外,如果我们还想使用一个我们从未定义过的端口号该怎么做呢?
    • 输入命令:java -jar demo-0.0.1-SNAPSHOT.jar --server.port=90

    在这里插入图片描述

    • 直接使用 “ server.port=90 ” 指定临时端口号,同样能够生效。
    • 很多小伙伴不明白为什么要使用 “ server.port" 的方式指定,这是因为我们在配置文件中就是使用该方式指定端口号的,只是搬到了命令行参数上罢了。
    • 当同时指定 “ server.port = 90 ” 和 “ spring.profiles.active=test ” 时,哪一个会起作用呢?我们不妨测试一下。

    在这里插入图片描述

    • 根据端口号可以得出 “ server.port = 90 ” 这个参数起作用了,说明它的优先级更高。
    • 对于优先级的内容,可以参考官网。

    在这里插入图片描述

    • 当配置多个时,优先级高的生效。

    👉 以上就是文章的全部内容啦,诸佬如果有任何建议都可以提哦。
    👉 创作不易,如果觉得对您有帮助的话,欢迎关注✨点赞👍收藏📂哦。

  • 相关阅读:
    神经网络增加网络层数,如何确定神经网络层数
    微信小程序生成海报工具Painter
    Android相机调用-CameraX【外接摄像头】【USB摄像头】
    linux centos安装nvm
    vue之elementui等表格单元格列合并
    Flink(java版)
    计算机毕业设计(附源码)python智慧消防维保系统后端
    MATLAB2016笔记(七):数据分析
    漏刻有时数据可视化Echarts组件开发(27):盒须图(箱线图)前后端php交互的实战案例
    常用算法记录整理
  • 原文地址:https://blog.csdn.net/Coder_Farmer/article/details/125349738