Field XXXService in com.XXX.controller.XXX required a bean of type ‘com.XXX.mapper.xxx‘that could no

解决办法:

Field surveyTypeService in com.XXX.controller.XXX required a bean of type ‘com.XXX.mapper.xxx’ that could not be found

一、 报错信息:

Description:

Field surveyTypeService in com.beyond.system.survey.controller.SurveyTypeController required a bean of type ‘com.beyond.system.survey.mapper.SurveyTypeMapper’ that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type ‘com.beyond.system.survey.mapper.SurveyTypeMapper’ in your configuration.

二、解决办法:

com.XXX.mapper.xxx 接口添加注解:@repository和 @mapper

@Mapper
@Repository
public interface SurveyTypeMapper extends BaseMapper<SurveyType> {}

三、 此两个注解作用、区别:

参考:https://blog.csdn.net/Sunshineoe/article/details/115447746
https://blog.csdn.net/qq_44421399/article/details/109825479

1、@Repository

@Repository 是 Spring 的注解,用于声明一个 Bean。@Repository单独使用没用。可以这样理解,注解放在接口上本来就没有意义,spring中在mapper接口上写一个@Repository注解,只是为了标识,要想真正是这个接口被扫描,必须使用@MapperScannerConfigurer

<!-- 配置 Mapper 扫描器 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.shenlei.mapper"/>
</bean>

这段配置会扫描com.shenlei.mapper包下所有的接口,然后创建各自的动态代理类。
与spring集成可分三个步骤:
1、把java类对应的Mapper接口类纳入spring总的IOC容器。
2、把Java类对应的XML命名空间添加到Mybatis中的Configuration类中的mapperRegistry(用于管理Mybatis的Mapper)
3、使用spring中的IOC容器拓展FactoryBean获取到Mapper的实例。(第一步纳入spring只是接口)

2、 @Mapper

@Mapper是mybatis自身带的注解。在spring程序中,mybatis需要找到对应的mapper,在编译时生成动态代理类,与数据库进行交互,这时需要用到@Mapper注解。
但是有时候当我们有很多mapper接口时,就需要写很多@Mappe注解,这样很麻烦,有一种简便的配置化方法便是在启动类上使用@MapperScan注解。
这样可以自动扫描包路径下所有的mapper接口,从而不用再在接口上添加任何注解。

3、相同点:

@Mapper和@Repository都是作用在dao层接口,使得其生成代理对象bean,交给spring 容器管理
对于mybatis来说,都可以不用写mapper.xml文件

4、不同点:

1、@Mapper不需要配置扫描地址,可以单独使用,如果有多个mapper文件的话,可以在项目启动类中加入@MapperScan(“mapper文件所在包”)
2、@Repository不可以单独使用,否则会报错误,要想用,必须配置扫描地址(@MapperScannerConfigurer)

四、解决使用@mapper接口时,注入mapper爆红问题

在idea中单独使用@Mapper注解,在@Autowired时,idea会提示找不到bean,但是不影响运行,如果想消除爆红,可以将@Mapper注解跟@Repository注解一起用,这样便可消除爆红。

@Mapper
@Repository
public interface SurveyTypeMapper extends BaseMapper<SurveyType> {}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
<项目介绍> 基于JavaWeb的期刊管理系统+程设报告.zip 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、老师或者企业员工下载,适合小白学习或者实际项目借鉴参考! 当然也可作为毕业设计、课程设计、课程作业、项目初期立项演示等。如果基础还行,可以在此代码基础之上做改动以实现更多功能。 使用JavaWeb开发的数据库显示界面的课程设计,支持数据分页查询以及期刊的模糊搜索,首页采用动态二维码生成进行校验,支持上传图片,用户密码采用md5加密,支持期刊的分页显示。 )** **使用方法** :<br/> 这里说明一下:大致的使用方法<br/> 1、get clone 我的这个项目git<br/> 2、使用idea打开项目目录<br/> 3、导入sql数据库文件(默认账号密码在工程里有一个excle存储)<br/> 4、在项目结构中配置相应的lib路径<br/> 5、配置jdk版本17<br/> 6、修改数据库properties文件,改为你的数据库链接配置<br/> 7、配置你的tomcat(idea右上角添加运行配置,导入你的tomcat,然后idea会提示修正项目,修正即可,之后,上面会显示工程访问路径,点击就可以访问 项目采用技术 ## 后端 1. Junit测试 2. JDK17 进行开发 3. 采用Jar包 1. Druid数据库连接池 2. QueryRunner 3. commons beanUtils 4. commons dbUtils 5. commons fileUpload 6. commons codec 7. commons io 8. java.utils.UUID 9. Gson(google json包) 4. MySql数据库进行存储 5. 使用Tomcat服务部署 6. Json数据传输 ## 前端 1. jsp 2. js 3. css 4. Ajax请求(请求Json) 编写 1. 完成数据库建立 2. 完成BookDao 3. 完成BookService 4. 完成JSP初始界面 5. 完成期刊删除以及首页展示 6. 编写WebUtils类,转化注入Bean对象(封装BeanUtils) 7. 完成用户数据库建立 8. 完成用户类Servlet 9. 完成登录功能 10. 完成期刊增加,修改功能 11. 完成期刊查询分页显示功能 12. 实现模糊分页搜索功能后端编写 13. 完成注册密码强度校验以及注册相应 14. 完成登陆页面设计 15. 完成首页的设计以及测试 16. 完成登陆权限检查(权限设置目录逻辑暂时未设置) 17. 完成用户密码MD5加密 18. 重构Book数据库增加src图片路径 19. 重构User数据库增加管理员权限以及其用户类型 20. 新增动态首页跳转功能(filter过滤器实现)以及单独点击期刊详情页面 21. 匹配后端随机生成图片信息,以及期刊封面文件的上传 22. 设置UUID信息生成唯一图片识别码 23. 修改管理员搜索结果页以及图片上传返回页面 24. 增加按钮删除添加触发跳转 25. 注销跳转设置使用Ajax 26. 完成整体基本功能页面联调 27. 完成同步删除图片功能 28. 增加已存在照片信息进行覆盖上传 29. 修改管理员期刊信息修改详情页面 ## 测试 1. 完成数据库连接测试 2. 完成BookDao测试 3. 完成BookService测试 4. 完成JSP初始界面测试 5. 完成期刊删除以及首页展示测试 6. 完成用户数据库测试 7. 完成登录测试 8. 完成期刊分页测试 9. 完成期刊增加,修改功能 10. 测试模糊匹配Dao测试 11. 测试模糊匹配Service层测试 12. 测试注册 13. 完成登陆页面设计 14. 测试权限检查的Filter 15. 测试MD5加密 16. 测试重构后用户信息插入 17. 测试动态首页跳转功能 18. 测试图片跳转详情页 19. 测试修改图书信息 20. 测试图片上传按钮 21. 页面跳转调试 22. 注销功能完成 23. 测试同步删除图片 24. 测试图片覆盖上传 25. 测试期刊详情修改页面

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值