【工具知识】在 Spring Boot 项目中结合 IntelliJ IDEA 实现不同环境配置文件选择

在 Spring Boot 项目中结合 IntelliJ IDEA 实现不同环境配置文件选择

      • **一、准备工作:创建多环境配置文件**
      • [**二、IDEA 中手工选择激活配置文件(核心步骤)**](#二、IDEA 中手工选择激活配置文件(核心步骤))
        • [**步骤 1:打开运行/调试配置界面**](#步骤 1:打开运行/调试配置界面)
        • [**步骤 2:创建/修改 Spring Boot 运行配置**](#步骤 2:创建/修改 Spring Boot 运行配置)
          • [**方式 1:通过 Program arguments 指定(推荐)**](#方式 1:通过 Program arguments 指定(推荐))
          • [**方式 2:通过 VM options 指定**](#方式 2:通过 VM options 指定)
        • [**步骤 3:创建多环境配置(可选,一键切换)**](#步骤 3:创建多环境配置(可选,一键切换))
        • [**步骤 4:启动并验证**](#步骤 4:启动并验证)
      • [**三、进阶技巧:通过 Maven/Gradle 插件激活(可选)**](#三、进阶技巧:通过 Maven/Gradle 插件激活(可选))
        • [**Maven 项目**](#Maven 项目)
        • [**Gradle 项目**](#Gradle 项目)
      • **四、注意事项**
      • **总结**

在 Spring Boot 项目中结合 IntelliJ IDEA 实现 手工选择激活不同环境的配置文件 (如 devtestprod),核心是通过 IDEA 的 运行/调试配置 动态指定 spring.profiles.active 参数,覆盖默认配置。以下是详细步骤:

一、准备工作:创建多环境配置文件

首先在 src/main/resources 目录下创建不同环境的配置文件,命名规则为 application-{profile}.properties(或 .yml):

复制代码
src/main/resources/  
├── application.properties       # 默认配置(可选,存放公共配置)  
├── application-dev.properties   # 开发环境配置  
├── application-test.properties  # 测试环境配置  
└── application-prod.properties  # 生产环境配置  

示例配置application-dev.properties):

properties 复制代码
server.port=8081  
app.name=MyApp-Dev  
logging.level.root=DEBUG  

示例配置application-prod.properties):

properties 复制代码
server.port=80  
app.name=MyApp-Prod  
logging.level.root=INFO  

二、IDEA 中手工选择激活配置文件(核心步骤)

通过 IDEA 的运行/调试配置,为每个环境创建独立的启动参数,实现"一键切换"。

步骤 1:打开运行/调试配置界面
  • 点击 IDEA 顶部菜单栏的 Run → Edit Configurations...(或右上角运行按钮旁的下拉菜单 → Edit Configurations...)。
步骤 2:创建/修改 Spring Boot 运行配置
  • 在左侧面板选择你的 Spring Boot 启动类(如 DemoApplication),或通过 + → Spring Boot 新建配置。
  • 在右侧配置面板中,找到 Configuration 标签页,重点修改以下参数:
方式 1:通过 Program arguments 指定(推荐)

Program arguments 中添加 --spring.profiles.active=环境名(如 --spring.profiles.active=dev):

复制代码
--spring.profiles.active=dev  

!https://img-blog.csdnimg.cn/img_convert/7a3b3d3c4d4e5f6a7b8c9d0e1f2a3b4c.png

方式 2:通过 VM options 指定

VM options 中添加 -Dspring.profiles.active=环境名(如 -Dspring.profiles.active=test):

复制代码
-Dspring.profiles.active=test  
步骤 3:创建多环境配置(可选,一键切换)

若需频繁切换环境,可创建多个运行配置,每个配置对应一个环境:

  1. Edit Configurations 界面点击左上角 + ,选择 Spring Boot ,命名为 App-Dev
  2. 配置 Main class (启动类),并在 Program arguments 中添加 --spring.profiles.active=dev
  3. 重复上述步骤,创建 App-Test--spring.profiles.active=test)、App-Prod--spring.profiles.active=prod)。

!https://img-blog.csdnimg.cn/img_convert/9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b.png

步骤 4:启动并验证
  • 选择配置:在 IDEA 右上角的运行按钮旁,通过下拉菜单选择刚创建的配置(如 App-Dev)。

  • 启动应用:点击运行按钮(▶️),观察控制台日志,确认激活的 Profile:

    log 复制代码
    The following 1 profile is active: "dev"  # 日志中会显示激活的环境  
  • 验证配置:访问 http://localhost:8081(dev 环境端口),或通过 Actuator 端点 /actuator/env 查看生效配置。

三、进阶技巧:通过 Maven/Gradle 插件激活(可选)

若项目使用 Maven/Gradle 构建,也可通过 IDEA 的构建工具面板激活 Profile(需注意与 Spring Boot Profile 的对应关系)。

Maven 项目
  1. pom.xml 中配置 Profiles:

    xml 复制代码
    <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>  
  2. 在 IDEA 右侧 Maven 工具栏中,展开 Profiles ,勾选对应环境(如 dev),启动时会自动传递参数。

Gradle 项目
  1. build.gradle 中配置:

    groovy 复制代码
    bootRun {  
      systemProperty "spring.profiles.active", System.getProperty("spring.profiles.active", "dev")  
    }  
  2. 在 IDEA 的 Gradle 工具栏中,通过 Tasks → application → bootRun 右键选择 Modify Run Configuration ,添加 VM options:-Dspring.profiles.active=test

四、注意事项

  1. 优先级 :命令行参数(Program arguments)> VM options > 配置文件中的 spring.profiles.active > 环境变量。
  2. 配置文件优先级application-{profile}.properties 会覆盖 application.properties 中的同名配置。
  3. IDEA 版本差异 :低版本 IDEA 界面可能略有不同,但核心参数(Program argumentsVM options)位置一致。

总结

通过 IDEA 的运行配置 手工选择激活 Spring Boot 配置文件,核心是在 Program argumentsVM options 中添加 --spring.profiles.active=环境名。推荐创建多个运行配置对应不同环境,实现"一键切换",提升开发效率。验证时通过启动日志和控制台输出确认激活的环境即可。

相关推荐
短剑重铸之日1 分钟前
《7天学会Redis》Day 6 - 内存&性能调优
java·数据库·redis·缓存·7天学会redis
石头wang2 分钟前
jmeter java.lang.OutOfMemoryError: Java heap space 修改内存大小,指定自己的JDK
java·开发语言·jmeter
yaoxin52112328 分钟前
292. Java Stream API - 使用构建器模式创建 Stream
java·开发语言
阮松云35 分钟前
code-server 配置maven
java·linux·maven
y***n61436 分钟前
springboot项目架构
spring boot·后端·架构
木木木一40 分钟前
Rust学习记录--C11 编写自动化测试
java·学习·rust
bug总结44 分钟前
uniapp+动态设置顶部导航栏使用详解
java·前端·javascript
a努力。1 小时前
字节跳动Java面试被问:一致性哈希的虚拟节点和数据迁移
java·开发语言·分布式·算法·缓存·面试·哈希算法
qq_318121591 小时前
互联网大厂Java面试故事:支付与金融服务微服务架构、消息队列与AI风控全流程解析
java·spring boot·redis·微服务·kafka·支付系统·金融服务
文慧的科技江湖1 小时前
重卡的充电桩一般都是多少千瓦? - 慧知开源充电桩平台
java·开发语言·开源·充电桩开源平台·慧知重卡开源充电桩平台