检查
检查是不是在多线程环境中使用了@Autowired注解或者@Resource注解
原因
出于线程安全考虑,在多线程环境以注解的形式注入bean可能会导致空指针异常
解决方案
手动创建工具类从bean工厂里获取bean实例
@Component
public class SpringContextUtil implements ApplicationContextAware {
public static ApplicationContext applicationContext = null;
@Override
public void setApplicationContext(ApplicationContext application) {
SpringContextUtil.applicationContext = application;
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public static Object getBean(String name) {
return getApplicationContext().getBean(name);
}
public static <T> T getBean(Class<T> clazz) {
return getApplicationContext().getBean(clazz);
}
}