SpringBoot配置文件的替换

使用spring.profiles.active

在工作中,测试或上线的时候一定会遇到的问题就是修改配置。一般来说都有如下几种配置可用:dev(开发环境),test(测试环境),pro(生产|线上环境)。这时候,我们就需要去注释掉配置文件中的所有配置,再解开需要的配置。这时候,就可以通过spring.profiles.active的配置来解决这个问题。

application.properties

  • 根据不同的环境创建不同的properties文件,如application-dev.properties,application-test.properties,application-pro.properties。
  • 创建application.properties,内容如下:

    spring.profiles.active=dev # test测试、pro生产

    然后通过修改application.properties来更改不同的配置。

application.yml

  • 同上,根据不同的环境创建不同的yml配置文件,以后缀区分(如:application-dev.yml)。
  • 创建application.yml,内容如下:

    spring:
        profiles:
            active: test # dev开发、pro生产

    同上,修改配置文件只需要更改application.yml文件即可。

在Spring Boot项目中,配置文件的覆盖通常是通过以下机制实现的: 1. **属性源**:Spring Boot支持多种类型的属性源,包括`application.properties`,`application.yml`,环境变量,命令行参数等。当多个属性源存在时,会按照一定顺序去查找并合并配置: - 环境变量:使用`-D`选项在命令行指定的环境变量,例如`-Dspring.datasource.url=myUrl`. - `application.properties`和`application.yml`:这两个文件在项目的`src/main/resources`目录下,可以手动更改或打包时通过外部资源文件替换。 - `bootstrap.properties`和`bootstrap.yml`:这些文件仅在热部署模式下生效,用于提供一些临时的、只在第一次启动时使用的配置。 - `profile-specific`:Spring profiles允许你在同一个项目里为不同的运行环境(如生产、测试)准备不同的配置,切换profile即可。 2. **Profile-specific configurations**:如果你在配置文件中为特定的Spring profile设置了不同的值,你可以通过`spring.profiles.active`环境变量或者`spring-boot-devtools.runprofiles.active`在启动时选择激活哪一个profile。 3. **Command-line arguments**:对于一些敏感信息,如数据库密码,你也可以通过`--spring.datasource.password`这样的命令行参数进行加密后的配置传递。 注意,如果有多个配置文件同时存在,并且同名的键值对在不同文件中有不同的值,通常后加载的文件会覆盖先前的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值