1.多profile文件形式

主配置文件编写时, 文件名可以是application-{profile}.properties/yml

默认使用的application.properties的配置.

 

2.多profile文档块模式

yml支持多文档块模式

SpringBoot——Profile多环境支持_ide

  可以通过启动时端口号判断启用的环境.

3.激活方式

SpringBoot——Profile多环境支持_命令行_02

命令行

SpringBoot——Profile多环境支持_命令行_03

 

配置文件中指定

SpringBoot——Profile多环境支持_ide_04

 

 jvm参数

 SpringBoot——Profile多环境支持_大数据_05

 

另:通过程序获取profile的值

使用profile帮我解决了不同环境使用不同配置的问题,那么如果我们需要在代码中获取这个profile的值怎么处理呢?



@Component
public class ProfileUtil implements ApplicationContextAware {

private static ApplicationContext context = null;

@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
this.context = applicationContext;
}

// 获取当前环境参数 exp: dev,prod,test
public static String getActiveProfile() {
String []profiles = context.getEnvironment().getActiveProfiles();
if( ! ArrayUtils.isEmpty(profiles)){
return profiles[0];
}
return "";
}
}


 


作者:习惯沉淀

如果文中有误或对本文有不同的见解,欢迎在评论区留言。