如何在SpringBoot中动态切换你的配置文件(Profile)
As we know,我们在测试中可能需要频繁切换SpringBoot的配置文件,这个时候我们如何切换配置文件才方便呢?命令行参数,还是显然还是太麻烦,特别是单元测试本地bean的时候。所以,小弟来给各位献上一计,通过Springboot容器的启动原理(其实我也不懂,但是切入点就在这里).我们需要实现该接口,Spring内置的容器在启动时会调用该接口的这个唯一方法,这个貌似是函数式接口(伪的,没什
·
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的规范
更多推荐
已为社区贡献2条内容
所有评论(0)