当前位置:首页 » 《随便一记》 » 正文

关于Spring中java.lang.NullPointerException: Cannot invoke “xxx“ because “xxx“ is null 的问题

26 人参与  2024年02月26日 10:31  分类 : 《随便一记》  评论

点击全文阅读


关于Spring中java.lang.NullPointerException: Cannot invoke “xxx” because “xxx” is null 的问题

当我好不容易编译成功,开始运行时,使用postman测试接口功能时却返回了一个错误:

编译成功开始运行:在这里插入图片描述
postman返回:
在这里插入图片描述
并在IDEA显示了
java.lang.NullPointerException: Cannot invoke “com.example.mybatisdemo.mapper.StudentMapper.ListStudent()” because “this.studentMapper” is null
错误指向了Service层调用的自动注解的Mapper对象为空。我很确定我的代码没有问题,该有的注解都有,xml也和Mapper文件对应的上,测试端口也没有问题,但无论怎么修改代码,最后都会显示studentMapper is Null。
CSDN或其他网站上的很多解决方法都不能解决我的问题。
最后还是通过修改了pom.xml的配置才能完美运行。
原先的pom.xml配置:
在这里插入图片描述
修改mybatis-spring包的版本到更高版本,比如说2.3.1和3.0.2,重新配置运行后错误解决(选择2.3.1)。
在这里插入图片描述
中间多出来了两段信息,这是mybatis的设置信息,之前没显示可能就和mybatis的配置有关系。使用postman测试接口功能:
在这里插入图片描述
出现了想要的结果,完美解决原先的错误。
刚好之前也在CSDN评论区了解到在配置的时候spring,jdk和其他各个框架的版本需要相互对应上,具体见:
http://mybatis.org/spring/zh/index.html
Java 8+使用较老版本的框架,Java 17+选择较新版本的框架。我用的Java 17选择了2.1.1的包导致出现了该问题。所以更新包之后就能解决,最后选择了3.0.2,测试之后也没有出现问题。


点击全文阅读


本文链接:http://zhangshiyu.com/post/69949.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1