二代逻辑流 调用 外部接口的时候没判断环境
第一次使用构造注入@Environment发现注入为null
然后使用@PostConstruct@Autowired发现都没用
眉头一紧,觉得事情没那么简单

后来才去看代码,发现RestApi.java 是他每一次使用的时候 new 出来的,这对Spring来说不是Spring容器里的一个对象,自然是不受spring的管理,Environment是通过spring注入到容器里的,所以注入不到,所以就是null
解决:
新写一个工具类,实现接口ApplicationContextAware,手动获取

@Component
public class EnvUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(@NotNull ApplicationContext applicationContext) throws BeansException {
        if (EnvUtil.applicationContext == null) {
            EnvUtil.applicationContext = applicationContext;
        }
    }

    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    public static boolean isSys() {
        Environment env = getApplicationContext().getBean(Environment.class);
        return env.getProperty("rc.system") != null && env.getProperty("rc.system").equals("sys");
    }
}