想在工具类的静态方法中调用spring管理的服务层对象,可报空指针了
项目启动的时候,是已经把对象注入成功了的
报错信息
想在工具类的静态方法中调用spring管理的服务层对象,可报空指针了
RobotAnswerUtil 第 50行,RobotAnswerUtil.RobotAnswerService = this.RobotAnswerService
有问题,这行的 RobotAnswerUtil
是 RobotAnswerUtil
类中的静态变量,等同于 this.RobotAnswerService = this.RobotAnswerService
,相当于没赋值。
改正方式如下:
@Component
public class RobotAnswerUtil implements ApplicationContextAware {
private static RobotAnswerService robotAnswerService;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
RobotAnswerUtil.robotAnswerService = applicationContext.getBean(RobotAnswerService.class);
}
public static String answer(String message) {
RobotAnswerUtil.robotAnswerService.findAnswer();
return null;
}
}
如有帮助,请采纳。