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)注解实现
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
相关话题
- 多数据源动态切换
- springboot读取配置文件
- SpringBoot自定义配置文件及读取配置文件
- SpringBoo使用jasypt加密配置文件
- springboot跨域配置
- spring配置文件中bean的属性name与id的区别
- SpringBoot从application.yml中获取自定义常量
- SpringBoot设置上传文件大小
- Springboot中WebMvcConfigurer中可配置项
- Nginx根据User Agent动态配置root目录适配移动端
- SpringMVC 配置servlet3.0 文件上传
- MyBatis动态SQL
- Javassist动态修改注解
- Springboot使用外部Tomcat
- FastDFS与Springboot集成