【工具知识】在 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 小时前
数据结构:栈堆
java·开发语言·数据结构
千寻技术帮1 小时前
10333_基于SpringBoot的家电进存销系统
java·spring boot·后端·源码·项目·家电进存销
dear_bi_MyOnly1 小时前
【多线程——线程状态与安全】
java·开发语言·数据结构·后端·中间件·java-ee·intellij-idea
jiaguangqingpanda2 小时前
Day36-20260204
java·开发语言
tb_first2 小时前
万字超详细苍穹外卖学习笔记4
java·spring boot·笔记·学习·spring·mybatis
努力写代码的熊大2 小时前
c++异常和智能指针
java·开发语言·c++
山岚的运维笔记2 小时前
SQL Server笔记 -- 第15章:INSERT INTO
java·数据库·笔记·sql·microsoft·sqlserver
Yvonne爱编码2 小时前
JAVA数据结构 DAY5-LinkedList
java·开发语言·python
小王不爱笑1322 小时前
LangChain4J 整合多 AI 模型核心实现步骤
java·人工智能·spring boot
西凉的悲伤2 小时前
spring-boot-starter-validation使用注解进行参数校验
java·spring boot·参数校验·validation·注解校验参数