Idea启动springboot项目的时候如何指定配置文件?

本文详细介绍如何在SpringBoot项目中设置并切换不同环境的配置文件,包括开发、测试和生产环境,通过创建多个YAML文件或在一个YAML文件中定义多环境配置,以及在IDEA中指定配置启动项目。

前言:

我们在使用springboot项目开发的时候,可能会遇到这样一种情况,每次切换环境跑项目的时候,都得修改配置文件的数据库地址,这样来回修改感觉很麻烦,所以今天就分享下如何设置多个配置文件,并且用idea启动时指定配置文件。

正文:

有两种配置方式,第一种就是配置多个yml文件,第二种就是在一个yml里配置写多个配置

一、配置多种环境的yml文件

其实各个环境的配置,大部分相同,主要是数据库和一些中间件访问的ip和端口有变化。

开发环境:application-dev.yml

# 配置端口
server:
  port: 8989
spring:
  # 配置数据源
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource

测试环境:application-test.yml

# 配置端口
server:
  port: 8989
spring:
  # 配置数据源
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.124.193:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource

生产环境:application-pro.yml

# 配置端口
server:
  port: 8989
spring:
  # 配置数据源
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.124.193:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource

二、一个yml文件写多个环境的配置

在一个yml文件中,可用连续三个连字号(---)区分多个文件,所以一个application.yml文件也可以完成环境切换了。

spring:
  profiles:
    active: dev


---
# 配置端口
server:
  port: 8989
spring:
  profiles: dev
  # 配置数据源
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
---
# 配置端口
server:
  port: 8989
spring:
  profiles: test
  # 配置数据源
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
---
# 配置端口
server:
  port: 8989
spring:
  profiles: pro
  # 配置数据源
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource

二、idea指定某种环境下的配置文件启动项目

1.多个配置文件,启动项目的时候,需要修改右上角的配置信息,按下图操作

--spring.profiles.active=test

 在启动日志里看到下图所示的日志,便代表指定配置文件启动成功。

2.单个配置文件启动项目的时候,只需要在active后面指定 dev或者test即可

 在启动日志里看到下图所示的日志,便代表指定配置文件启动成功。

 

总结:

天气逐渐变热,大家注意好防晒,要不年龄大了很容易出现老年斑,晒伤是不可逆的。今天的文章风格仍然是简确用(简单确实有用)风格。

我是阿达,一名喜欢分享知识的程序员,时不时的也会荒腔走板的聊一聊电影、电视剧、音乐、漫画,这里已经有7574位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!

总结:

### 在 IntelliJ IDEA启动 Spring Boot 项目指定配置文件的方法 在 IntelliJ IDEA启动 Spring Boot 项目时,可以通过多种方式指定配置文件。以下是详细的实现方法: #### 1. 使用 `--spring.config.location` 参数 在运行配置中添加 JVM 参数以指定自定义的配置文件路径。例如: ```bash --spring.config.location=classpath:/custom-config.properties,classpath:/another-config.properties ``` 这会覆盖默认的 `application.properties` 或 `application.yml` 文件[^1]。 #### 2. 修改运行配置 通过 IntelliJ IDEA 的运行配置功能,可以指定启动参数。具体步骤如下: - 打开主菜单,选择 **Run | Edit Configurations**。 - 在弹出的对话框中找到对应的 Spring Boot 运行配置。 - 在 **VM options** 字段中添加以下内容: ```bash -Dspring.config.location=classpath:/custom-config.properties,classpath:/another-config.properties ``` 或者使用更灵活的方式: ```bash -Dspring.profiles.active=dev ``` 这将激活名为 `dev` 的环境配置文件(如 `application-dev.properties`)[^2]。 #### 3. 使用多环境配置 Spring Boot 支持基于 Profile 的多环境配置。可以在 `application.yml` 或 `application.properties` 中定义多个环境配置文件,并通过以下方式激活特定的环境: - 在运行配置的 **VM options** 中添加: ```bash -Dspring.profiles.active=prod ``` 这将加载 `application-prod.properties` 或 `application-prod.yml` 文件中的配置[^3]。 #### 4. 示例代码:激活 Hibernate 配置 如果需要结合 Hibernate 使用特定配置文件,可以参考以下代码片段: ```java @SpringBootApplication public class SpringbootApplication { public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); } } ``` 同时,在 `application-prod.properties` 中定义 Hibernate 相关配置: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=secret spring.jpa.hibernate.ddl-auto=update ``` #### 5. 注意事项 - 确保指定配置文件路径正确且文件存在,否则可能导致应用启动失败。 - 如果同时指定了多个配置文件,Spring Boot 会按照优先级加载,具体顺序可参考官方文档[^1]。 ```python # 示例:检查配置文件是否加载成功 import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class ConfigChecker { @Value("${spring.datasource.url}") private String dataSourceUrl; public String getDataSourceUrl() { return dataSourceUrl; } } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心的码字达

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值