SpringBoot配置多环境开发


SpringBoot配置多环境开发

一、多环境开发(单文件yml或yaml版)

1、简介

  • 创建一个配置文件,使用 - - - 区分环境设置边界,在该配置文件中引用

2、代码案例

# 应用环境
spring:
  profiles:
    active: test

---
# 生产环境
spring:
  profiles: pro
server:
  port: 80

---
# 开发环境
spring:
  profiles: dev
server:
  port: 81

---
# 测试环境
spring:
  profiles: test
server:
  port: 82

二、多环境开发(多文件yml或yaml版)

1、简介

  • 需要创建多个配置文件,在主配置文件中进行引用
  • 文件命名要 application-xxx.yml

2、代码案例

  1. 主启动配置文件 application.yml
spring:
  profiles:
    active: test
  1. 生产环境配置文件 application-pro.yml
server:
  port: 80
  1. 开发环境配置文件 application-dev.yml
server:
  port: 81
  1. 测试环境配置文件 application-test.yml
server:
  port: 82

三、多环境开发(多文件properties版)

1、简介

  • 需要创建多个配置文件,在主配置文件中进行引用
  • properties 仅支持多文件版
  • 文件命名要 application-xxx.properties

2、代码案例

  1. 主启动配置文件 application.properties
spring.profiles.active=pro
  1. 生产环境配置文件 application-pro.properties
server.port=80
  1. 开发环境配置文件 application-dev.properties
server.port=81
  1. 测试环境配置文件 application-test.properties
server.port=82

四、多环境分组管理

1、简介

  • SpringBoot2.4以后开始使用group属性代替了原来的include属性,降低了配置书写量
  • 多环境开发使用group属性设置配置文件分组,便于线上维护管理
  • 使用group属性定义多种主环境与子环境的包含关系
  • 文件命名要 application-xxx.yml
  • 后面覆盖前面

2、代码案例

  1. 主启动 application.yml
spring:
  profiles:
    # 选择要执行的组,后面覆盖前面
    active: dev,pro
    # 分组
    group:
      # 定义分组,后面覆盖前面
      "dev": devDB,devMVC
      "pro": proDB,proMVC
      "test": testMVC,testDB
  1. application-devDB.yml
server:
  port: 80
  1. application-devMVC.yml
server:
  servlet:
    # 上下文路径http://localhost:81/my/*
    context-path: /my
  port: 81
  1. application-proDB.yml
server:
  port: 82
  1. application-proMVC.yml
server:
  servlet:
    # 上下文路径http://localhost:83/you/*
    context-path: /you
  port: 83
  1. application-testDB.yml
server:
  port: 84
  1. application-testMVC.yml
server:
  servlet:
    # # 上下文路径http://localhost:85/it/*
    context-path: /it
  port: 85

五、多环境开发Maven控制

1、配置Maven

 <!--设置多环境-->
    <profiles>
        <profile>
            <id>env_dev</id>
            <properties>
                <profile.acctive>dev</profile.acctive>
            </properties>
        </profile>
        <profile>
            <id>env_pro</id>
            <properties>
                <profile.acctive>pro</profile.acctive>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    </profiles>

2、引用Maven属性 @xxx@

在这里插入图片描述

3、执行Maven指令compile

  • 基于SpringBoot读取Maven配置属性的前提下,如果在IDEA下测试工程时pom.xml每次更新需要手动compile方可生效,IDEA中的bug
    在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值