空指针异常原因分析

定义

首先介绍一下空指针异常的定义:
空指针异常(NullPointerException):空指针异常是指java中的异常类,当应用程序试图在需要对象的地方使用 null 时,就会抛出该异常.

简而言之,就是当你要使用一个对象时,结果对象并无内容只有null值,那就会抛出空指针异常.(下文简称NPE)

可能原因

那么当程序中出现了空指针异常,我们该如何去找到并排除异常呢?

出现NPE时,我们首先需要根据抛出的异常信息,去找到出现异常的行号!
之后我们需要去检查三个方面:

1.检查出现NPE的行是否有对象调用了方法

2.如果有对象调用方法的话,检查调用方法的对象是什么时候进行赋值的,现在是否还有值

3.如果该对象是由spring容器进行依赖注入(DI)进行复制的,那要检查该对象的引用是否使用了spring框架的特定注解(@Autowired等)来描述,对象引用的属性所在的类是否交给了spring框架管理(@springboottest等注解)

通过这三点连续的检查,应该可以锁定大部分空指针异常出现的原因,找到原因后,修改就很简单了,根据所需要求修改程序即可

你可能感兴趣的:(java)