【工具知识】在 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=环境名。推荐创建多个运行配置对应不同环境,实现"一键切换",提升开发效率。验证时通过启动日志和控制台输出确认激活的环境即可。

相关推荐
java坤坤2 小时前
Elasticsearch Java实战手册:搭建、条件构建与分页优化
java·elasticsearch
小梁努力敲代码2 小时前
Java多线程--单例模式
java·开发语言
老华带你飞3 小时前
学生宿舍管理|基于java + vue学生宿舍管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
Filotimo_3 小时前
在java后端开发中,redis的用处
java·开发语言·redis
广东数字化转型3 小时前
RocketMQ从入门到深入
spring boot·rocketmq·java-rocketmq
lkbhua莱克瓦243 小时前
TCP通信练习4-上传文件名重复问题
java·网络·网络协议·tcp/ip·tcp
INGg__3 小时前
Java面试现场:从简单到复杂
java·面试·技术
ArabySide3 小时前
【Spring Boot】理解Spring Bean作用域的设计
spring boot·后端·spring
毕设源码-赖学姐3 小时前
【开题答辩全过程】以 高校图书馆座位预约管理系统为例,包含答辩的问题和答案
java·spring boot