java Spring Boot yml多环境配置

我们项目 线上和线下 环境配置不是特别一样 例如 运行的URL 数据库地址 数据库的账号密码

这些经常是不一样的 如果每次上线钱改 也不是特别方便 甚至可能忘记

那么 进入我们代码中

所谓的多环境 就是在不同的环境下配置不同的值

终端还是在application配置文件中

多环境的话 不是特别一样

它分为两步

分别是 设置环境和应用环境

先将所有的环境配置出来 然后再决定 用哪一个

这里 我们可以分为三个应用部分

开发环境 就是我们平时在本地时做开发用的

测试环境 我们开发完之后 给测试人员或者自己进行程序功能检测时使用的

生产环境 我们项目上线后运行的环境

我们可以在application.yml上这样写

javascript 复制代码
 # 生产环境
server:
  port: 80
---
# 开发环境
server:
  port: 81
---
# 测试环境
server:
  port: 82

细心的朋友可能会发现 当我们将鼠标放在 第一个内容中 变成 1/3

然后 我们放到第二个 就成了 2/3

放到最后一个也会变成 3/3 大家都可以试一下

那么 怎么区分环境呢?

我们将代码改成这样

javascript 复制代码
# 生产环境
spring:
  config:
    activate:
      on-profile: pro
server:
  port: 80
---
# 开发环境
spring:
  config:
    activate:
      on-profile: dev
server:
  port: 81
---
# 测试环境
spring:
  config:
    activate:
      on-profile: test
server:
  port: 82

spring.config.activate.on-profile 可以设置环境代理名

这里 我们设置 开发环境 dev 生产环境 pro 测试环境 test

然后 我们在配置文件最上面编写

javascript 复制代码
spring:
  profiles:
    active: dev
---

指定目前使用我们的开发环境

然后 我们启动项目

日志上也很明显的运行出了我们配置的配置和端口

然后 我们改一下

换到生产环境上去

运行项目

查看日志也是没有任何问题

相关推荐
zlinear数据采集卡3 分钟前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Flittly17 分钟前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring
Poo_Chai17 分钟前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间24 分钟前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
茶本无香1 小时前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell
小努蛋1 小时前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty
风流 少年1 小时前
Spring AI 2.0:MCP
java·后端·spring
qz_Serene1 小时前
C++:类和对象(上)
开发语言·c++
天疆说2 小时前
01 硬件选型与 llama.cpp 部署:4× RTX 5880 Ada 跑 DeepSeek-V4-Flash
java·redis·llama