package com.xxl.job.admin.core.util;
|
|
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.stereotype.Component;
|
|
@Component
|
public class SpringContextUtil implements ApplicationContextAware {
|
private static ApplicationContext applicationContext;
|
|
public static ApplicationContext getApplicationContext() {
|
return applicationContext;
|
}
|
|
// 下面的这个方法上加了@Override注解,原因是继承ApplicationContextAware接口是必须实现的方法
|
@Override
|
public void setApplicationContext(ApplicationContext applicationContext) {
|
SpringContextUtil.applicationContext = applicationContext;
|
}
|
|
public static Object getBean(String name) {
|
return applicationContext.getBean(name);
|
}
|
|
public static Object getBean(String name, Class<?> requiredType) {
|
|
return applicationContext.getBean(name, requiredType);
|
}
|
|
public static <T> T getBean(Class<T> clazz) {
|
return applicationContext.getBean(clazz);
|
}
|
|
public static boolean containsBean(String name) {
|
return applicationContext.containsBean(name);
|
}
|
|
public static boolean isSingleton(String name) {
|
return applicationContext.isSingleton(name);
|
}
|
|
public static Class<?> getType(String name) {
|
return applicationContext.getType(name);
|
}
|
|
public static String[] getAliases(String name) {
|
return applicationContext.getAliases(name);
|
}
|
}
|