Spring Boot 项目使用 MyBatis 时,如何解决 localhost:8081 访问正常,其他端口访问后端抛出 NullPointerException 异常?

Spring Boot 项目使用 MyBatis 时,如何解决 localhost:8081 访问正常,其他端口访问后端抛出 NullPointerException 异常?

localhost:8081访问正常,其他端口访问后端抛出nullpointerexception异常

环境:Spring Boot、MyBatis

报错信息:

java.lang.NullPointerException: null

原因分析:

该异常通常是由于程序尝试访问一个值为 null 的对象而引起的。在给定的情况下,异常发生在 UserController 的 login 方法中。经过仔细检查,发现 UserController 中没有直接使用 null 值,因此可以推断注入的 mapper 为 null 才导致了异常的抛出。

原因可能是:

  • mapper 接口未被扫描到。一般情况下,需要在启动类上添加 @MapperScan 注解来扫描 mapper 包下的接口,使其被 Spring 管理。

解决方案:

确保在启动类(例如 MyApplication)上添加了以下注解:

@MapperScan("com.example.demo.mapper")

其中,com.example.demo.mapper 是 mapper 接口所在的包。添加此注解后,Spring 将扫描 mapper 包并加载所有接口,然后再进行注入。

注意:

如果您使用的是自定义的 MybatisConfig 配置类,可以在该类上添加 @MapperScan 注解来替代在启动类上的注解。

以上就是Spring Boot 项目使用 MyBatis 时,如何解决 localhost:8081 访问正常,其他端口访问后端抛出 NullPointerException 异常?的详细内容,更多请关注其它相关文章!