判断是否是开发环境工具类

2022-09-16 16:41:00 浏览数 (1)

前言

实际项目中有时候同一个功能可能在不同的环境会执行不同的操作,比如某些收费的功能,开发环境进行开发的时候可能就不会真正去调用收费的接口。对于如何确定不同的环境,本小节来做一个梳理

这里用到了spring自带的Environment类来处理,获取配置文件中的 spring: profiles: active: dev 来进行确定

所在包:import org.springframework.core.env.Environment;

代码语言:javascript复制
@Component
public class EnvironmentUtil {
    private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(EnvironmentUtil.class);
    private static final String DEV = "dev";

    /**
     * 是否是dev环境
     * @return
     */
    public static boolean isDev() {
        try {
            Set<String> activeProfiles = Arrays.stream(SpringUtil.getBean(Environment.class).getActiveProfiles()).collect(Collectors.toSet());
            log.info("activeProfiles:{}", activeProfiles);
            return activeProfiles.contains(DEV);
        } catch (Exception e) {
            log.error(e.getMessage());
            return false;
        }
    }

}

这里也可以直接注入Environment

常用功能
  • 获取属性配制文件中的值 environment.getProperty("rabbitmq.address")
  • 获取是否使用profile的 public boolean isDev(){ boolean devFlag = environment.acceptsProfiles("dev"); return devFlag; }

0 人点赞