【SpringBoot】多环境开发、分组管理、开发控制

2023-10-17 17:40:49 浏览数 (2)

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~

SpringBoot —— 多环境开发

一、多环境开发 —— yaml格式

单配置文件、多环境(共享配置文件)

  • 配置文件中,使用---分隔不同的环境,从而实现多环境
  • 划分出一块环境,作为设置公共配置的应用环境,在当中指定应用哪个环境中的属性配置。
代码语言:javascript复制
# 这里是公共配置

# 设置应用哪个环境(这里应用dev环境)
spring:
  profiles:
    active: dev

---

# 假设这是生产环境
# 过时格式设置环境
spring:
  profiles: pro

# 具体参数设置
server:
  port: 80
---

# 假设这是开发环境
# 标准格式设置环境
spring:
  config:
    activate:
      on-profile: dev

# 具体参数设置
server:
  port: 81

---

# 假设这是测试环境
# 推荐使用此格式(标准格式)
spring:
  config:
    activate:
      on-profile: test

# 具体参数设置
server:
  port: 82

小结

  1. 多环境开发需要设置若干种常用的环境,例如开发环境、生产环境、测试环境
  2. yaml格式中设置多环境,使用---区分环境,设置边界
  3. 每种环境的区别在于加载的配置属性不同
  4. 启动某种环境时,需要指定启动时使用的环境

多配置文件、多环境(独立配置文件)

  • 主配置文件中设置公共配置 —— 全局
  • 环境分类配置文件中常用于配置冲突属性 —— 局部
  1. 主启动配置文件application.yml
代码语言:javascript复制
# 设置应用哪个环境(这里应用dev环境)
spring:
  profiles:
    active: dev
  • 使用include属性在激活指定环境的情况下,可以同时对多个环境进行加载使其生效,多个环境间使用逗号分隔:
代码语言:javascript复制
spring:
  profiles:
    active: dev
    include: test,pro
# 这样书写,文件的加载顺序是:test 》 pro 》 dev
# 当主环境dev与其他环境有相同属性时,主环境属性失效;其他环境中有相同的属性时,最后加载的环境属性生效
  1. 环境分类配置文件application-pro.yml:
代码语言:javascript复制
server:
  port: 80
  1. 环境分类配置文件application-dev.yml:
代码语言:javascript复制
server:
  port: 81
  1. 环境分类配置文件application-test.yml:
代码语言:javascript复制
server:
  port: 82

小结

  • 可以使用独立配置文件定义环境属性
  • 独立配置文件便于线上维护更新保障系统安全性

二、多环境开发 —— properties格式

  • properties文件多环境配置仅支持多文件格式
  • 主配置文件中设置公共配置 —— 全局
  • 环境分类配置文件中常用于配置冲突属性 —— 局部
  1. 主启动配置文件application.properties
代码语言:javascript复制
# 设置应用哪个环境(这里应用test环境)
spring.profiles.active=test
  1. 环境分类配置文件application-pro.properties:
代码语言:javascript复制
server.port=80
  1. 环境分类配置文件application-dev.properties:
代码语言:javascript复制
server.port=81
  1. 环境分类配置文件application-test.properties:
代码语言:javascript复制
server.port=82

三、多环境分组管理

  • 使用include属性在激活指定环境的情况下,可以同时对多个环境进行加载使其生效,多个环境间使用逗号分隔
  • 当主环境dev与其他环境有相同属性时,主环境属性失效;其他环境中有相同的属性时,最后加载的环境属性生效

0 人点赞