SpringBoot的Profile优先级测试

本文测试了在SpringBoot项目中,如何通过不同profile配置文件(application.yml, application-dev.yml, application-pro.yml)来覆盖默认配置。实验证明,可以通过指定启动脚本来覆盖配置文件中的配置,方便开发和生产环境的切换。" 81805647,7666091,React实战:组件化与react-redux实现网上商城,"['React', '前端开发', 'Web应用', 'react-router', 'redux']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在配置毕业设计项目的生产环境,在配置Jenkins的时候在想profile生效的优先级,就是在application.yml中配置了spring.profiles.active之后,能不能通过--spring.profiles.active覆盖掉这个配置,所以有了这片博客。

配置三个配置文件

  1. application.yml
spring:
  profiles:
    active: dev
  1. application-dev.yml
demo:
  name: 我是dev开发环境!
  1. application-pro.yml
demo:
  name: 我是pro生产环境!

一个配置实体类

@Component("demoSettings")
@ConfigurationProperties(prefix = "demo")
public class DemoSettings {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Main

    public static void main(String[] args) {
        ConfigurableApplicationContext ctx = SpringApplication.run(ProfileTestApplication.class, args);
        DemoSettings demoSettings = (DemoSettings) ctx.getBean("demoSettings");

        System.out.println("*********************");
        System.out.println(demoSettings.getName());
        System.out.println("*********************");
    }

开始测试

  • 在IDE中直接启动项目
    dev

  • PowerShell中使用java -jar profiletest-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro启动项目

pro

结论

实际说明--spring.profiles.active是能覆盖配置文件中的配置的,所以开发人员可以直接clone下来开发,而生产环境中只需要在启动脚本加上--spring.profiles.active=pro即可。

项目源码:ProfileTest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值