美文网首页
springboot中遇到的NullPointerExcepti

springboot中遇到的NullPointerExcepti

作者: 你的小纯儿 | 来源:发表于2020-05-13 14:35 被阅读0次

    本菜鸟在进行springboot项目开发过程中,不止一次经历过NullPointerException报错,最多是@Autowired注解的内容是空的。一开始我还以为是数据库访问操作导致的。简单而不形象的说一下正确的做法就是想使用@Autowired注解的service或者mapper的这个类,他本身也一定是有注解的。如果自己随便创建一个class,这个class没有被标记为mapper、controller啥的,里面想调用一个mapper,到最后就会报NullPointerException。

    接下来记录一下我遇到的情况。

    我定义了一个线程类,采用单例模式,每当我负责监听的端口收到消息后就放到一个队列里,然后这个线程就不停从队列里取消息进行处理。在处理的过程中需要调用我的mapper来将处理好的消息存入数据库。由于我的线程类不太适合定义成controller或service什么的,再加上一开始不知道想调用@Autowired注解的mapper必须这个class本身也有注解,就一直报错空指针。

    最后的解决方法是在监听端口(一个加了@RestController注解的controller)中进行

    @Autowired

    private  PointProcessService ppService;

    然后调用线程时将监听端口创建的ppService(我的mapper被创建在这个service里面,这个service当然是有@Service注解的)传到线程里面,这样在线程里就可以直接使用service里面的mapper方法了。

    监听消息端口传入service 线程里面接收service 调用mapper的service

    相关文章

      网友评论

          本文标题:springboot中遇到的NullPointerExcepti

          本文链接:https://www.haomeiwen.com/subject/ojynnhtx.html