Environment上下文获取类,判断是正式环境还是测试环境

/**
 * @author : wangyejian
 * @Description: spring environment上下文获取工具类
 **/
@Slf4j
@Component
@Lazy(false)
public class EnvironmentHelper implements EnvironmentAware {
     
    private Environment environment;
    //商用环境
    public static final String PROD = "prod";
    //测试环境
    private static final String TEST = "test";
    //开发环境
    private static final String DEV = "dev";

    /**
     * 是否为商用(生产)环境
     * @return
     */
    public boolean isProd() {
     
        return environment.acceptsProfiles(Profiles.of(PROD));
    }
    /**
     * 是否为开发环境
     * @return
     */
    public boolean isDev() {
     
        return environment.acceptsProfiles(Profiles.of(DEV));
    }
    /**
     * 是否为测试环境
     * @return
     */
    public boolean isTest() {
     
        return environment.acceptsProfiles(Profiles.of(TEST));
    }

    /**
     * 获取当前环境
     * @return
     */
    public String[] getActiveProfiles() {
     
        return environment.getActiveProfiles();
    }

    @Override
    public void setEnvironment(Environment environment) {
     
        this.environment=environment;
    }
}
/**
 * @author : wangyejian
 * @Description: 测试获取环境
 **/
@Component
@Slf4j
public  class JdVopEventListener {
     

    @Autowired
    private EnvironmentHelper environmentHelper;

    public void test(){
     
        boolean isProd=environmentHelper.isProd();
        boolean isTest=environmentHelper.isTest();
        boolean isDev=environmentHelper.isDev();
        String[] activeProfiles = environmentHelper.getActiveProfiles();
        if(isProd){
     //商用环境在处理
            //商用环境的需要执行的操作
        }else if(isTest){
     
            //测试环境需要执行的逻辑处理

        }else if (isDev){
     
            //开发环境需要执行的逻辑操作
        }
    }
    }

你可能感兴趣的:(学习java,java)