想在工具类的静态方法中调用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;
}
}
如有帮助,请采纳。
spring:我容器启动做了1w个操作,你直接给我new完事了?
这个init方法真的是神操作
我自己等于我自己;
50:我自己的某属性现在是nul,我要为它赋值为我自己的某属性null,赋值了个寂寞