Spring Boot 多环境配置

Spring Boot 多环境配置解决方案

在 Spring Boot 中,我们可以使用 profiles 来区分不同环境的配置。下面我将展示如何配置开发环境和生产环境,并提供一个可视化界面来演示配置切换效果。

实现思路

  1. 创建主配置文件 application.yml 存放通用配置

  2. 创建环境特定配置文件:

    • application-dev.yml - 开发环境配置

    • application-prod.yml - 生产环境配置

  3. 使用 spring.profiles.active 属性指定当前激活的环境

  4. 创建简单的可视化界面展示配置切换

代码实现

1. 项目结构

text

复制代码
src/
├── main/
│   ├── java/
│   │   └── com/example/
│   │       └── DemoApplication.java
│   └── resources/
│       ├── application.yml
│       ├── application-dev.yml
│       ├── application-prod.yml
│       └── static/
│           └── index.html

2. 配置文件内容

application.yml (主配置文件)

yaml

复制代码
spring:
  profiles:
    active: dev  # 默认使用开发环境

# 通用配置
app:
  name: 多环境配置示例
  version: 1.0.0

application-dev.yml (开发环境配置)

yaml

复制代码
# 开发环境配置
server:
  port: 8080
  servlet:
    context-path: /dev

app:
  environment: 开发环境
  api-url: http://localhost:8080/dev/api
  database-url: jdbc:mysql://localhost:3306/dev_db
  debug: true
  max-connections: 5

application-prod.yml (生产环境配置)

yaml

复制代码
# 生产环境配置
server:
  port: 80
  servlet:
    context-path: /prod

app:
  environment: 生产环境
  api-url: https://api.example.com/prod/api
  database-url: jdbc:mysql://prod-db.example.com:3306/prod_db
  debug: false
  max-connections: 50
相关推荐
白狐_7987 分钟前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander25829 分钟前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅1 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
卷无止境1 小时前
FastAPI 的Admin面板生态
后端·python
捡田螺的小男孩2 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒2 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端
极创信息2 小时前
系统安全隐患全方位排查方案:标准化渗透测试全流程
java·opencv·struts·数据挖掘·eclipse·语音识别·hibernate
用户8356290780513 小时前
Python 自动化 Word 文本框处理:创建、定位、填充内容与管理
后端·python
网渡科技3 小时前
向量数据库选型指南:RAG场景下的性能对比与调优策略
后端
汉字萌萌哒3 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++