import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationContextException;
public class AppContextUtils implements ApplicationContextAware {
private static ApplicationContext appContext;
public static ApplicationContext getAppContext() {
return appContext;
}
@SuppressWarnings("unchecked")
public static <T> T getBean(String name) {
if(appContext==null)
throw new ApplicationContextException("Spring no init...!");
return (T)appContext.getBean(name);
}
public static void initApplicationContext(ApplicationContext ac){
appContext=ac;
}
@Override
public void setApplicationContext(ApplicationContext ac)
throws BeansException {
if(AppContextUtils.getAppContext() == null){
AppContextUtils.initApplicationContext(ac);
}
}
}