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
相关推荐
不早睡不改名1 分钟前
网络编程基础:从BIO到NIO再到AIO(一)
后端
开源之眼2 分钟前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
心在飞扬3 分钟前
RAPTOR 递归文档树优化策略
前端·后端
zone773913 分钟前
003:RAG 入门-LangChain 读取图片数据
后端·python·面试
心在飞扬17 分钟前
LangChain Parent Document Retriever (父文档检索器)
后端
zone773926 分钟前
002:RAG 入门-LangChain 读取文本
后端·算法·面试
用户83562907805127 分钟前
在 PowerPoint 中用 Python 添加和定制形状的完整教程
后端·python
武子康31 分钟前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
心在飞扬1 小时前
MultiVector 多向量检索
前端·后端
Gopher_HBo1 小时前
Go之基于TCP/IP协议栈的socket通信
后端