继承 ApplicationContextAware 类后, 在程序启动时会自动执行setApplicationContext方法,注入applicationContex
@Component
public class ApplicationContextAwareUtil implements ApplicationContextAware {
private ApplicationContext context;
/**
* 继承 ApplicationContextAware 类后,
* 在程序启动时会自动执行setApplicationContext方法,注入applicationContext
*/
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
context = applicationContext;
}
//获得applicationContext
public static ApplicationContext getApplicationContext() {
return context;
}
//获取Bean
public static <T> T getBean(Class<T> clazz){
return (T) getApplicationContext().getBean(clazz);
}
public static <T> T getBean(String name){
return (T) getApplicationContext().getBean(name);
}
}