import org.springframework.context.ApplicationContext;
public class ApplicationContextUtil {private static ApplicationContext applicationContext;private ApplicationContextUtil() throws Exception {throw new InstantiationException("ApplicationContextUtil不允许实例化");}public static void init(ApplicationContext applicationContext) {if (ApplicationContextUtil.applicationContext != null) return;synchronized (ApplicationContextUtil.class) {if (ApplicationContextUtil.applicationContext != null) return;ApplicationContextUtil.applicationContext = applicationContext;}}public static ApplicationContext getApplicationContext() {if (applicationContext == null) throw new RuntimeException("applicationContext不允许为null");return applicationContext;}@SuppressWarnings("unchecked")public static <T extends ApplicationContext> T getApplicationContext(Class<T> clazz) {return (T) getApplicationContext();}
}