您的位置:首页 > 编程语言 > Java开发

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

2018-05-24 16:11 295 查看

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的规范

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: