Env获取运行时环境

Env工具类获取运行时环境

public class EnvConfig {

    public enum Env {

        PROD("prod","PROD","生产环境"),
        UAT("uat","UAT","预发环境"),
        DEV("dev","DEV","开发环境");
        private String code;
        private String enMsg;
        private String zhMsg;
        Env(String code,String enMsg,String zhMsg){
            this.code = code;
            this.enMsg = enMsg;
            this.zhMsg = zhMsg;
        }
    }
    public static Env getEnv() {
        return Env.valueOf(BeanContext.getApplicationContext().getEnvironment().getActiveProfiles()[0].toUpperCase(Locale.ROOT));
    }

    public static String getEnvDesc(){
        return getEnv().enMsg;
    }

}

依赖的BeanContext上下文定义

@Configuration
public class BeanContext implements ApplicationContextAware {
    private static ApplicationContext applicationContext;

    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    @SuppressWarnings("unchecked")
    public static <T> T getBean(String name) throws BeansException {
        return (T) applicationContext.getBean(name);
    }

    public static <T> T getBean(Class<T> clazz) throws BeansException {
        return applicationContext.getBean(clazz);
    }

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        BeanContext.applicationContext = applicationContext;
    }
}
posted @   SpecialSpeculator  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示