前言

在Java中,NullPointerException是一种常见的运行时异常,通常发生在尝试访问或操作一个空对象引用(null reference)时

1. 问题所示

在操作代码的时候,浏览器报服务端500的错误

通过后端服务端的代码Debug,发现执行到Service中报NullPointerException的错误
于是看最初始化的位置,发现报null的错误!

如图所示:

详细分析Java中Service报NullPointerException的相关知识(实战Bug)-LMLPHP

2. 基本知识

我们回顾下此类问题的相关知识点,下面是一些可能导致在Service中发生NullPointerException的常见原因和解决方法:

以上只是一些可能的原因和解决方法,具体情况可能需要具体分析代码。

在处理NullPointerException时,要注意良好的编程实践,包括空值检查、合理的异常处理和日志记录,以帮助诊断问题。

3. 原理分析

在排查错误的时候需要使用Debug,方便排查!

既然知道我们的Bug是Null,那我们根据上文中的相关知识进行排查

最后证实是构造的时候没有带上以上的实例化属性!

详细分析Java中Service报NullPointerException的相关知识(实战Bug)-LMLPHP

对于以上问题,总结如下:

对于Controller层中调用的Service方法,需要使用@Autowired注解。但还需要注意该类是否还有构造器,影响bean的注入了!(如果是构造器需要像我这么操作!)

如果不是该bug的缘由,可看上面的相关知识补充,以及下方Spring的相关知识。对于Spring的相关知识可看我这篇文章:

  1. Spring框架梳理总结(适合多刷)
  2. Spring中所有注解详细解析(全)
  3. Spring框架从入门到学精(全)
01-22 07:52