无法在工具类的静态方法中获取spring 管理的对象

想在工具类的静态方法中调用spring管理的服务层对象,可报空指针了

img


项目启动的时候,是已经把对象注入成功了的

img


报错信息

img

RobotAnswerUtil 第 50行,RobotAnswerUtil.RobotAnswerService = this.RobotAnswerService 有问题,这行的 RobotAnswerUtilRobotAnswerUtil 类中的静态变量,等同于 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,赋值了个寂寞