springBoot动态切换application.properties配置文件

2018-07-23 11:06:07
1173次阅读
0个评论
在spring boot 中如果想使用application-xx.properties配置文件有3中办法

1:在application.properties配置文件中配置spring.profiles.active=xx,xx和application-xx.properties中对应

2:在spring boot启动类中 使用SpringApplication实例的setAdditionalProfiles("xx")来进行设置

3:在spring boot test时可以使用 @ActiveProfiles(value={"xx"})来进行设置,如果想使用动态的可以实现ActiveProfilesResolver接口使用@ActiveProfiles(resolver = ProfilesResolver.class)注解实现

public class ProfilesResolver implements ActiveProfilesResolver {
 
@Override
public String[] resolve(Class<?> testClass) {
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
int week = cal.get(Calendar.DAY_OF_WEEK) - 1;// 从星期日开始
if (week < 5 && week > 0) {
return new String[] { "pro" };
} else {
return new String[] { "dev" };
}
}
}

spring boot 中@Profile注解也比较常用一般和@Bean,@Configation一起使用,表示在@Profile注解指定的开发环境此bean才注入到springr容器,或者才启用此配置


收藏00

登录 后评论。没有帐号? 注册 一个。