返回顶部
首页 > 资讯 > 精选 >springboot @Repository与@Mapper的区别是什么
  • 515
分享到

springboot @Repository与@Mapper的区别是什么

2023-06-29 11:06:14 515人浏览 泡泡鱼
摘要

本篇内容介绍了“SpringBoot @Repository与@Mapper的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所

本篇内容介绍了“SpringBoot @Repository与@Mapper的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    今天在用springboot整合mybatis时,mapper接口上用的注解是以前学spring时用的@Repository注解,可一运行,就出现了错误。

    Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    2020-11-19 20:29:20.989 ERROR 15260 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

    ***************************
    APPLICATION FAILED TO START
    ***************************

    Description:

    Field videoMapper in com.shenlei.service.impl.VideoServiceImpl required a bean of type 'com.shenlei.mapper.VideoMapper' that could not be found.

    springboot @Repository与@Mapper的区别是什么

    说是找不到mapper这个bean,于是翻翻之前学springboot的笔记,发现要用mappe这个注解,加了之后,果然就可以了。

    springboot @Repository与@Mapper的区别是什么

    于是总结一下@Repository 与 @Mapper的区别

    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注解

    springboot @Repository与@Mapper的区别是什么

    但是有时候当我们有很多mapper接口时,就需要写很多@Mappe注解,这样很麻烦,有一种简便的配置化方法便是在启动类上使
    用@MapperScan注解。

    springboot @Repository与@Mapper的区别是什么

    这样可以自动扫描包路径下所有的mapper接口,从而不用再在接口上添加任何注解。

    3、区别

    相同点:

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

    不同点:

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

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

    springboot @Repository与@Mapper的区别是什么

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

    springboot @Repository与@Mapper的区别是什么

    这样便可消除爆红

    “springboot @Repository与@Mapper的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    --结束END--

    本文标题: springboot @Repository与@Mapper的区别是什么

    本文链接: https://lsjlt.com/news/324552.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • springboot @Repository与@Mapper的区别是什么
      本篇内容介绍了“springboot @Repository与@Mapper的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
      99+
      2023-06-29
    • 浅谈springboot@Repository与@Mapper的区别
      目录1、@Repository2、@Mapper3、区别相同点:不同点:4、解决使用@mapper接口时,注入mapper爆红问题今天在用springboot整合mybatis时,m...
      99+
      2024-04-02
    • @Repository注解的作用和用法,以及和@Mapper的区别
      1、@Repository的作用 @Repository是属于Spring的注解。它用来标注访问层的类(Dao层),它表示一个仓库,主要用于封装对于数据库的访问。其实现方式与@Component注解相同,只是为了明确类的作用而设立。 即@R...
      99+
      2023-08-17
      java spring boot spring mybatis
    • SAP UI5 Repository和MongoDB Repository的区别是怎样的
      SAP UI5 Repository and MongoDB Repository,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。UI5 Rep...
      99+
      2024-04-02
    • SpringBoot 与 SpringCloud 有什么区别?
      🏆今日学习目标: 🍀SpringBoot 与 SpringCloud 有什么区别? ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页  ἴ...
      99+
      2023-10-12
      spring boot spring cloud java
    • Spring和SpringBoot的区别是什么
      今天小编给大家分享一下Spring和SpringBoot的区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、看一下...
      99+
      2023-06-27
    • j2ee和springboot的区别是什么
      J2EE(Java 2 Platform, Enterprise Edition)是一种大型的企业级Java开发平台,提供了一整套的...
      99+
      2024-04-02
    • SpringBoot@PropertySource与@ImportResource有什么区别
      目录前言@PropertySource@ImportResource小结前言 在SpringBoot中,对于JavaBean的属性一般都绑定在配置文件中,比如application....
      99+
      2023-01-28
      SpringBoot @PropertySource SpringBoot @ImportResource
    • SpringBoot application.yml和bootstrap.yml的区别是什么
      本篇内容介绍了“SpringBoot application.yml和bootstrap.yml的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家...
      99+
      2023-07-06
    • SpringBoot与Spring之间有什么区别
      SpringBoot和Spring是两个不同的项目,但是它们之间也有一些相关性。Spring是一个全功能的框架,用于构建企业级应用程...
      99+
      2024-04-09
      SpringBoot Spring
    • springboot-starter-undertow和tomcat的区别是什么
      本篇内容主要讲解“springboot-starter-undertow和tomcat的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot-starter-undert...
      99+
      2023-06-29
    • springboot中@Controller和@RestController的区别是什么
      小编给大家分享一下springboot中@Controller和@RestController的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!@Cont...
      99+
      2023-06-25
    • SpringBoot之bootstrap和application的区别是什么
      本篇内容主要讲解“SpringBoot之bootstrap和application的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot之bootstrap和applic...
      99+
      2023-07-05
    • php与ruby的区别是什么
      本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。php与ruby的区别是什么Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。php和ruby...
      99+
      2021-05-03
      php
    • php与vb的区别是什么
      本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑php与vb的区别是什么PHP即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。Visual Basic(简称VB)是Micr...
      99+
      2017-05-19
      PHP
    • wordpress与PHP的区别是什么
      本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑wordpress是什么WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPres...
      99+
      2020-08-18
      wordpress PHP
    • web与php的区别是什么
      本教程操作环境:windows10系统、PHP7.1版,DELL G3电脑。web与php的区别是什么一个后端,一个前端,这就是最大区别。详细点的话,可以这么说:功能不一样,php主要用于后端处理数据和操作数据,增删改查。而web前端所包括...
      99+
      2016-02-02
      PHP
    • android与java的区别是什么
      java是一门编成语言,而android是一个基于linux内核的手机操作系统。两者的关系在于,用java语言可以编写出应用程序安装在android,这也是现在java语言就业的一个方向。编程界网,大量的免费Java入门教程,欢迎在线学习!...
      99+
      2018-02-25
      java教程 android java 区别
    • php7与php5的区别是什么
      本文操作环境:windows10系统、php 7&&php 5、thinkpad t480电脑。相信一定有很多小伙伴都有过这样的疑惑,php5和php7之间有什么区别么?php7想对于php5增加或删除了哪些东西?下面我就来...
      99+
      2020-09-07
      php 7 php 5 区别
    • html与java的区别是什么?
      html与java的区别两者本质不一样。Java是一种面向对象编程语言,像C、Basic一样,但各有各的特点。java是一门程序语言,具有众多优点,它是可以编写网页的;但那个语言叫JSP,JSP语言是JAVA程序语言的一种技术。【推荐学习:...
      99+
      2014-10-09
      java基础 html java
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作