【转载】Springboot2.x 区分 生产、测试、开发 不同环境不同配置(多环境、多配置)

参考

  1. SpringBoot 区分 生产、测试、开发 不同环境不同配置
  2. spring-boot:run启动时,如何带设置环境参数dev,test.

环境类型

我这边测试只使用了两种环境 dev开发、prod线上,所以本文内的案例只有这两种
(名称不限于下面三种,你想起什么名字都可以,像aaa、bbb都是可以的,只需要在 application.properties spring.profiles.active=xxx进行指定,或者在命令行启动的时候进行指定即可)(2023/03/21 更新)

  • 生产(线上)(prod)
  • 测试(test)
  • 开发(dev)

配置

  1. 复制两份 application.properties ,并重命名为如下图所示的文件名

image

  1. 把相同配置放到 application.properties 内,不同配置如数据库信息可以分别放到 application-dev.properties、application-pord.properties 内,dev与pord配置文件会覆盖application.properties内的配置

  2. 在 application.properties 文件内新增一行配置指定配置文件,因为我当前是开发机器,所以设置dev配置文件为默认载入配置

# 环境调用对应的配置文件 dev开发 prod线上
spring.profiles.active=dev
  1. 本地启动命令无需加参数,与线上启动命令需要指定配置文件
#本地 jar 启动
java -jar xxx.jar
#本地 mvn 启动(2023/03/16 追加)
mvn spring-boot:run -D spring-boot.run.profiles=dev
#jar 线上启动,并指定配置文件为生产(线上)配置文件
java -jar xxx.jar --spring.profiles.active=prod
posted @   夏秋初  阅读(617)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示