@Component
public class ApplicationContextHelper implements ApplicationContextAware{
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext context) throws BeansException {
applicationContext = context;
}
public static <T> T popBean(Class<T> clazz){
if(applicationContext == null){
return null;
}
return applicationContext.getBean(clazz);
}
public static <T> T popBean(String name, Class<T> clazz){
if(applicationContext == null){
return null;
}
return applicationContext.getBean(name,clazz);
}
}
在工具类中使用
SysCoreService sysCoreService = ApplicationContextHelper.popBean(SysCoreService.class);