springboot 指定配置文件

本文详细介绍了如何在Spring Boot应用中利用命令行参数设置配置,包括配置文件加载路径的优先级和如何按环境切换配置。重点讲解了外部配置文件的放置、自定义配置文件指定、以及Profile机制的应用。

SpringAppication会默认将命令行选项参数转换为配置信息

  • 例:启动时命令参数的指定
java -jar project.jar --server.port = 9090
  • 从命令行指定的配置项的优先级最高,不过你可以通过setAddCommandLineProperties来禁用它
SpringApplication.setAddCommandLineProperties(false);

外部配置文件
Spring程序会按优先级从下面这些路劲来加载application.properties的配置文件

  • 当前目录下的/config目录
  • 当前目录
  • classpath里的/config目录
  • calsspath根目录
    ::: hljs-left
    因此,要外置配置文件就很简单了,在jar所在目录新建config文件夹,然后放入配置文件,或者直接放在配置文件在jar目录
    :::

自定义配置文件
不想使用application.properties最为配置文件,可以通过下面方式指定加载的配置文件

java -jar project.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

或者

java -jar -Dspring.config.location=C:\Users\77375\Desktop\www\test.yml project.jar

代码中指定

@SpringBootApplication
@PropertySource(value={"file:config.properties"})
public class SpringbootrestdemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootrestdemoApplication.class, args);
    }
}

按Profile不同环境读取不同配置文件
首先,按不同的环境设置一个配置文件,例如:
dev环境 => application-dev.yml
prod环境 => application-prod.tml

然后在application.properties中指定用哪一个配置文件

spring.profiles.active = dev

也可在启动的时候用命令指定:

java -ar project.jar --spring.profiles.active = prod
### 在 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
发出的红包

打赏作者

小飞飞y

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

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

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

打赏作者

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

抵扣说明:

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

余额充值