在新建多线程类的时候,通过注入的方式是拿不到容器的,需要通过这种方式来获取容器,不然一直报null
package *.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ApplicationContextUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
ApplicationContextUtil.applicationContext = applicationContext;
}
public static <T> T get(Class<T> clazz) {
return applicationContext.getBean(clazz);
}
public static Object get(String name) {
return applicationContext.getBean(name);
}
}