首页 > Java > java教程 > idea springBoot项目自动注入mapper为空报错如何解决

idea springBoot项目自动注入mapper为空报错如何解决

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2023-05-17 18:49:18
转载
2071 人浏览过

在SpringBoot项目中,如果使用了MyBatis作为持久层框架,使用自动注入时可能会遇到mapper报空指针异常的问题。这是因为在自动注入时,SpringBoot无法正确识别MyBatis的Mapper接口,需要进行一些额外的配置。
解决这个问题的方法有两种:

1.在Mapper接口上添加注解
在Mapper接口上添加@Mapper注解,告诉SpringBoot这个接口是一个Mapper接口,需要进行代理。示例如下:

@Mapper
public interface UserMapper {
    // ...
}
登录后复制

2.手动配置Mapper扫描路径
在application.properties或application.yml中手动配置Mapper扫描路径,告诉SpringBoot扫描哪些包下的Mapper接口。示例如下:
在application.properties中配置:

mybatis.mapper-locations=classpath:mapper/*.xml
登录后复制

在application.yml中配置:

mybatis:
  mapper-locations: classpath:mapper/*.xml
登录后复制

需要注意的是,这里的mapper/*.xml是指Mapper接口所对应的XML文件存放的路径,如果使用注解方式配置SQL语句,则可以不用配置XML文件路径。
通过以上两种方式进行配置后,就可以在使用自动注入时正确注入Mapper接口了。

最后,如果以上的都做了还是报空的话检查一下是不是粗心的在controller层没有注入mapper,例如

idea springBoot项目自动注入mapper为空报错如何解决

如果是新new的对象的话引用的注入对象不是自动注入spring容器里的对象,所以会报空,演戏也要演全套,在controller层也使用@Autowird注入吧

以上是idea springBoot项目自动注入mapper为空报错如何解决的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板