判断java环境工具类
前言
在java项目中有时候需要判断当前运行的环境,比如测试环境还是线上环境或者其它的环境,我们可以写一个工具类,判断当前所处的环境,然后做不同的处理。
一、spring-Environment?
spring自带的类,Environment在容器中是一个抽象的集合,是指应用环境的2个方面:profiles和properties。其中properties属性包含环境变量等数据,我们可以拿出其中的数据然后判断当前的环境标识。
二、项目使用
@Slf4j
@Component
public class EnvUtil {
@Resource
private Environment environment;
private static final String TEST = "test";
/**
* 是否是test环境
*
* @return
*/
public boolean isTest() {
try {
Set<String> activeProfiles = Arrays.stream(environment.getActiveProfiles()).collect(Collectors.toSet());
log.info("activeProfiles:{}", activeProfiles);
return activeProfiles.contains(TEST);
} catch (Exception e) {
log.error(e.getMessage());
return false;
}
}
}
通过@Resource直接注入Environment,然后使用getActiveProfiles()方法即可。
总结
以上的使用背景是在测试环境和线上环境需要做不同处理的时候,可以判断当前所处的环境,或者为了检测服务的性能进行压测,把线上的数据暂时mock掉,不真实处理,也可以借用以上的环境工具类去处理,希望听完我的介绍能够对你有所帮助!!!