当前位置: 首页 > news >正文

idea报“Could not autowire. No beans of ‘UserMapper‘ type found. ”错解决办法

原因和解决办法

1.原因

idea具有检测功能,接口不能直接创建bean的,需要用动态代理技术来解决。

2.解决办法

1.修改idea的配置

1.点击file,选择setting
在这里插入图片描述
2.搜索inspections,找到Spring
在这里插入图片描述
3.找到Spring子目录下的Springcore
在这里插入图片描述
4.在Springcore的子目录下找到code
在这里插入图片描述
5.把seyerity选项改成警告
在这里插入图片描述

2.修改代码

1,@Autowrited改为@Autowrited(required = false)
在这里插入图片描述
2,在@Mapper上面加上@Reoository在这里插入图片描述
3,使用@MapperScan和@Reoository

3.扩展

1.@Repository 与 @Mapper区别

1.数据接口层 @Repository 与 @Mapper都是作用于数据接口层,用于数据访问
2.分属不同的框架 org.springframework.stereotype.Repositor和org.apache.ibatis.annotations.Mapper,从类的包路径就可以看出来,@Mapper是 Mybatis 的注解,和 Spring 没有关系,@Repository 是 Spring 的注解,用于声明一个 Bean。
3.动态加载方式不同 使用 Mybatis 有 XML 文件或者注解的两种使用方式,原理是一样的,Mybatis 需要找到对应的mapper,在编译的时候动态生成代理类,实现数据库查询功能,所以只要在数据接口类上加上@Mapper就能被动态加载。
然后,@Repository只是为了标识,注解本身是没有作用的,需要和@MapperScan注解配合使用

注意:@Repository不可以单独使用,否则会报错误,要想用,必须配置扫描地址(@MapperScannerConfigurer)

http://www.lryc.cn/news/122693.html

相关文章:

  • QEMU源码全解析35 —— Machine(5)
  • SpringBoot对一个URL通过method(GET、POST、PUT、DELETE)实现增删改查操作
  • webpack 创建VUE项目
  • deepin 深度操作系统正式适配苹果 M1 芯片
  • Labview控制APx(Audio Precision)进行测试测量(七)
  • Mybatis 源码 ② :流程分析
  • Unity2D RPG开发笔记 P1 - Unity界面基础操作和知识
  • 聚类与回归
  • 了解IL汇编循环
  • 电脑突然黑屏的解决办法
  • socket练习
  • Gitlab CI/CD笔记-第二天-主机套接字进行构建并push镜像。
  • nginx服务器报错502 Bad Gateway的原因以及解决办法
  • 带你了解什么是内容协商---如何返回不同媒体类型的数据
  • 容器化相关面试题
  • BIO、NIO、AIO 有什么区别
  • 如何构建一个对象池并使用
  • 【沁恒蓝牙mesh】CH58x USB功能开发记录(三)
  • 2023国赛数学建模D题思路分析
  • linux 学习————LNMP之分布式部署
  • 第八课 双重所有格和不定代词
  • 使用xrdp协议远程桌面控制树莓派,无需公网IP!
  • 数据结构【图的类型定义和存储结构】
  • PHP Smarty如何进行调试和错误处理?
  • 手搓vue3组件_0,打包配置
  • WebAssembly
  • TM4C123库函数学习(2)--- LED闪烁,滴答定时器精准延时
  • Linux: network: tcp: back-off技术
  • 36 | 银行贷款数据分析
  • 计算机网络-物理层(二)- 传输方式