package it.benjamin.aspirinweb.mem;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* 获取Springboot上下文,通过上下文可以拿到配置文件中的配置参数
*/
@Component
public class AppContextTool implements ApplicationContextAware {
private static ApplicationContext context;
public String getConfig(String key) {
return context.getEnvironment().getProperty(key);
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.context = applicationContext;
}
}
或者更简单的写法:
定义一个AppUtil.java类:
public class AppUtil {
public static ConfigurableApplicationContext CONTEXT;
}
在启动类中进行赋值
public static void main(String[] args) {
AppUtil.CONTEXT = SpringApplication.run(RedisFlinkApplication.class, args);
}