如何在SpringBoot中动态切换你的配置文件(Profile)

As we know,我们在测试中可能需要频繁切换SpringBoot的配置文件,这个时候我们如何切换配置文件才方便呢?

命令行参数,还是显然还是太麻烦,特别是单元测试本地bean的时候。所以,小弟来给各位献上一计,通过Springboot容器的启动原理(其实我也不懂,但是切入点就在这里).我们需要实现该接口,Spring内置的容器在启动时会调用该接口的这个唯一方法,这个貌似是函数式接口(伪的,没什么用)

import org.springframework.test.context.ActiveProfilesResolver;

/**
 * @author Kwai
 * @date 2018/5/24 15:07
 */
public class ProfileResolver implements ActiveProfilesResolver {
    @Override
    public String[] resolve(Class<?> testClass) {
        String activeProfiles = System.getProperty("spring.profiles.active");
        return new String[] {activeProfiles != null ? activeProfiles : "liangyin"};
    }
}

这时候,我们就将自定义的属性解析器实现了,下一步只需要引入其到启动类即可


请无视第四个注解,依赖插件的。这个时候就就可以搭配Junit进行单元测试了。

注意,默认是以application.yml来启动的。若你的其他配置文件是以application-xxx.yml的形式来命名的,只需要将我的liangyin改成你的xxx即可.这也是springboot的规范

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值