news 2026/4/15 9:10:07

SpringBoot多环境配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot多环境配置
🌈个人主页: Hygge_Code
🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络
💫个人格言: “既然选择了远方,便不顾风雨兼程”

文章目录

  • 🛠️ 多环境开发
    • 🎬 引入:开一家奶茶店的故事
    • 一、什么是多环境?🤔
    • 二、为什么要搞多环境?🍂
      • 1. 隔离风险:避免“本地好的,线上炸了”🤣🤣
      • 2. 提升效率
      • 3. 保障稳定:提前发现生产级问题
    • 三、多环境的种类 🧾
      • 🔧 基础三环境
      • 🚀 扩展五环境(复杂项目需要)
    • 四、应用:Spring Boot 多环境配置 🐦‍🔥
      • 1. 配置文件分类🧾
      • 2. 核心配置示例🌰
        • 主配置文件 `application.yml`
        • 开发环境 `application-dev.yml`
        • 生产环境 `application-prod.yml`
      • 3. 激活环境的3种方式📖

🛠️ 多环境开发

🎬 引入:开一家奶茶店的故事

假如你要开一家网红奶茶店,从筹备到营业,你会经历这几个阶段:

  1. 工地装修期(开发环境)
    你在毛坯店里敲敲打打、试装水电、调整位置。这时候你可以随意改动,打翻油漆、钻错孔都没关系,反正还没客人。
    对应到项目里,这就是开发环境——你可以随便改代码、删测试数据、打印调试日志,不怕影响用户。

  2. 试营业样板间(测试环境)
    装修完成后,你邀请亲朋好友来试喝:用和正式开业一样的设备、原料、菜单,模拟真实订单流程,看看奶茶好不好喝、出餐效率够不够、收银系统稳不稳定。
    对应到项目里,这就是测试环境——用生产脱敏数据、接近生产的配置,让专门的测试人员验证功能,提前发现问题。

  3. 正式营业(生产环境)
    一切准备就绪,开门迎客。这时候你必须保证:原料新鲜、设备稳定、出餐高效,不能再像试营业时那样随便调整配方,更不能让客人喝到“调试版”奶茶。
    对应到项目里,这就是生产环境——面向真实用户,要求绝对稳定、安全,日志只打关键错误,功能不能随意改动。

如果跳过“试营业”直接开业,你可能会遇到:菜单打印错误、收银系统崩溃、奶茶口味不稳定等等一系列本可以轻易排除的问题

一、什么是多环境?🤔

多环境就是为软件项目在不同阶段(开发、测试、上线)提供独立的“运行容器”(将所需资源和项目本身部署到不同的机器上),每个容器拥有专属的配置、数据和运行规则,彼此完全隔离互不影响

二、为什么要搞多环境?🍂

1. 隔离风险:避免“本地好的,线上炸了”🤣🤣

  • 数据隔离:开发时可以随意删改测试数据,不会影响生产环境的真实用户数据;
  • 配置隔离:开发环境开启调试日志、热部署,生产环境关闭调试、开启性能优化,避免配置混乱;
  • 功能隔离:新功能先在开发/测试环境验证,没问题再上线,避免直接影响用户。

2. 提升效率

  • 开发:专注功能开发,不用关心线上配置和数据;
  • 测试:在接近生产的环境验证功能,发现的Bug更贴近真实场景;
  • 运维:稳定部署和维护生产环境,不用处理开发/测试环境的临时问题。

3. 保障稳定:提前发现生产级问题

  • 测试环境用生产脱敏数据(如10万条用户数据),可以提前发现性能问题(如慢SQL、接口超时);
  • 预发布环境1:1复制生产配置,上线前做最后验证,避免直接炸生产。

三、多环境的种类 🧾

🔧 基础三环境

环境名称英文标识奶茶店类比关键特点
开发环境dev工地装修期数据可随意删改、日志全开、支持热部署
测试环境test试营业样板间数据是脱敏生产副本、配置接近生产、定期重置
生产环境prod正式营业数据绝对安全、日志极简、性能优先

🚀 扩展五环境(复杂项目需要)

在三环境基础上增加两个阶段,进一步降低风险:

  • 预发布环境(pre):正式开业前的「压力测试」,用真实设备和原料模拟高峰时段,验证出餐效率;
  • 演示环境(demo):给投资人/加盟商看的「品牌旗舰店」,装修精美、数据美化,功能稳定。

四、应用:Spring Boot 多环境配置 🐦‍🔥

1. 配置文件分类🧾

src/main/resources目录下创建以下文件,命名遵循 Spring Boot 官方规范:

  • application.yml:主配置文件(激活环境、公共配置
  • application-dev.yml:开发环境配置
  • application-test.yml:测试环境配置
  • application-prod.yml:生产环境配置

2. 核心配置示例🌰

主配置文件application.yml
spring:application:name:milk-tea-shopprofiles:active:dev# 默认激活开发环境(工地模式)
开发环境application-dev.yml
server:port:8080spring:datasource:url:jdbc:mysql://localhost:3306/dev_milk_teausername:rootpassword:rootlogging:level:root:debug# 调试日志
生产环境application-prod.yml
server:port:8081spring:datasource:url:jdbc:mysql://prod-db:3306/prod_milk_teausername:${DB_USERNAME}# 环境变量读取敏感信息password:${DB_PASSWORD}logging:level:root:warn# 只打印警告/错误

3. 激活环境的3种方式📖

  1. 配置文件指定:修改application.yml中的spring.profiles.active=prod
  2. 命令行指定java -jar milk-tea-shop.jar --spring.profiles.active=prod(可以用maven里的package指令打成 jar包 后操作)
  3. IDE指定:在启动配置的Program arguments中添加--spring.profiles.active=dev

如果我的内容对你有帮助,请点赞评论收藏。创作不易,大家的支持就是我坚持下去的动力!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 18:28:09

VGGT-SLAM:如何在SL(4)流形上实现高精度稠密RGB SLAM?

VGGT-SLAM:如何在SL(4)流形上实现高精度稠密RGB SLAM? 【免费下载链接】VGGT-SLAM VGGT-SLAM: Dense RGB SLAM Optimized on the SL(4) Manifold 项目地址: https://gitcode.com/gh_mirrors/vg/VGGT-SLAM VGGT-SLAM是一款基于SL(4)流形优化的稠密…

作者头像 李华
网站建设 2026/4/9 0:11:01

N_m3u8DL-RE实战:深度解析流媒体下载进阶技巧

N_m3u8DL-RE实战:深度解析流媒体下载进阶技巧 【免费下载链接】N_m3u8DL-RE 跨平台、现代且功能强大的流媒体下载器,支持MPD/M3U8/ISM格式。支持英语、简体中文和繁体中文。 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE 作为…

作者头像 李华
网站建设 2026/4/6 15:55:20

FilePizza终极指南:浏览器直连文件传输的简单解决方案

FilePizza终极指南:浏览器直连文件传输的简单解决方案 【免费下载链接】filepizza :pizza: Peer-to-peer file transfers in your browser 项目地址: https://gitcode.com/GitHub_Trending/fi/filepizza 还在为文件传输的繁琐流程而烦恼吗?FilePi…

作者头像 李华
网站建设 2026/4/9 0:11:11

Paraformer-large语音识别延迟高?CUDA 4090D加速部署实测

Paraformer-large语音识别延迟高?CUDA 4090D加速部署实测 1. 为什么你的Paraformer识别速度上不去? 你是不是也遇到过这种情况:用Paraformer-large做语音转文字,上传一段几分钟的录音,结果等了快十分钟才出结果&…

作者头像 李华
网站建设 2026/4/14 3:47:11

零基础打造专属微信AI助手:从入门到精通的完整指南

零基础打造专属微信AI助手:从入门到精通的完整指南 【免费下载链接】wechat-bot 🤖一个基于 WeChaty 结合 DeepSeek / ChatGPT / Kimi / 讯飞等Ai服务实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者管理微信群/好友&…

作者头像 李华
网站建设 2026/4/8 20:16:22

eSpeak NG 文本转语音的完整入门指南

eSpeak NG 文本转语音的完整入门指南 【免费下载链接】espeak-ng espeak-ng: 是一个文本到语音的合成器,支持多种语言和口音,适用于Linux、Windows、Android等操作系统。 项目地址: https://gitcode.com/GitHub_Trending/es/espeak-ng eSpeak NG …

作者头像 李华