You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot:如何创建Dev、Prod、Qlty三个环境配置文件并实现切换?

Spring Boot多环境数据库配置实现指南

1. 创建环境专属配置文件

直接按Spring Boot的命名规则,在src/main/resources目录下创建三个配置文件:

  • application_dev.properties:开发环境配置
  • application_qlty.properties:质检环境配置
  • application_prod.properties:生产环境配置

每个文件仅存放对应环境的数据库差异配置,示例如下:

开发环境(application_dev.properties)

# 开发库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/dev_db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=dev_user
spring.datasource.password=dev_pass
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 开发环境连接池参数
spring.datasource.hikari.maximum-pool-size=10

质检环境(application_qlty.properties)

# 质检库连接信息
spring.datasource.url=jdbc:mysql://qlty-server:3306/qlty_db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=qlty_user
spring.datasource.password=qlty_pass
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 质检环境连接池参数
spring.datasource.hikari.maximum-pool-size=20

生产环境(application_prod.properties)

# 生产库连接信息
spring.datasource.url=jdbc:mysql://prod-server:3306/prod_db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=prod_user
spring.datasource.password=prod_pass
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 生产环境连接池参数
spring.datasource.hikari.maximum-pool-size=50

同时保留主配置文件application.properties,存放所有环境通用的配置:

# 全局通用配置
spring.jpa.hibernate.ddl-auto=none
mybatis.mapper-locations=classpath:mapper/*.xml
logging.level.com.yourpackage=DEBUG

2. 激活指定环境加载对应配置

Spring Boot提供多种灵活的方式指定要激活的环境,优先级从高到低依次为:命令行参数 > 环境变量 > 主配置文件。

方式一:主配置文件指定默认环境

在application.properties中添加默认激活的环境,适合本地开发场景:

# 默认启动开发环境
spring.profiles.active=dev

方式二:启动时通过命令行参数指定

启动Jar包时直接传入参数,适合服务器部署时切换环境:

# 启动生产环境
java -jar your-app.jar --spring.profiles.active=prod

# 启动质检环境
java -jar your-app.jar --spring.profiles.active=qlty

方式三:IDE运行时快速切换

在IDE的运行配置中,添加VM参数或程序参数:

  • VM参数:-Dspring.profiles.active=dev
  • 程序参数:--spring.profiles.active=dev

方式四:系统环境变量指定

通过环境变量设置,适合持续部署场景:

  • Linux/macOS:
    export SPRING_PROFILES_ACTIVE=prod
    java -jar your-app.jar
    
  • Windows:
    set SPRING_PROFILES_ACTIVE=prod
    java -jar your-app.jar
    

3. 简便最佳实践

  • 配置拆分边界清晰:主配置只存通用配置,环境专属文件仅放该环境独有的配置(数据库信息、第三方服务地址、连接池参数等),避免冗余。
  • 敏感信息加密存储:生产环境的数据库密码等敏感内容,不要硬编码在配置文件中,用Spring Boot自带的加密工具(如Jasypt)或环境变量注入。
  • 构建时绑定环境:用Maven/Gradle的Profile功能,打包时自动绑定对应环境,比如Maven配置:
    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <spring.profiles.active>dev</spring.profiles.active>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <spring.profiles.active>prod</spring.profiles.active>
            </properties>
        </profile>
    </profiles>
    
    打包执行mvn package -Pprod即可生成绑定生产环境的Jar包。
  • 本地多配置快速切换:在IDE中保存多个运行配置,分别绑定dev、qlty环境,一键启动对应环境。

内容的提问来源于stack exchange,提问作者Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 17:30:42