亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談springboot @Repository與@Mapper的區(qū)別

 更新時(shí)間:2022年03月11日 15:01:02   作者:輕舟渡滄海  
本文主要介紹了淺談springboot @Repository與@Mapper的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

今天在用springboot整合mybatis時(shí),mapper接口上用的注解是以前學(xué)spring時(shí)用的@Repository注解,可一運(yùn)行,就出現(xiàn)了錯(cuò)誤。

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.

在這里插入圖片描述

說(shuō)是找不到mapper這個(gè)bean,于是翻翻之前學(xué)springboot的筆記,發(fā)現(xiàn)要用mappe這個(gè)注解,加了之后,果然就可以了。

在這里插入圖片描述

于是總結(jié)一下@Repository 與 @Mapper的區(qū)別

1、@Repository

@Repository 是 Spring 的注解,用于聲明一個(gè) Bean。@Repository單獨(dú)使用沒(méi)用??梢赃@樣理解,注解放在接口上本來(lái)就沒(méi)有意義,spring中在mapper接口上寫(xiě)一個(gè)@Repository注解,只是為了標(biāo)識(shí),要想真正是這個(gè)接口被掃描,必須使用@MapperScannerConfigurer

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

這段配置會(huì)掃描com.shenlei.mapper包下所有的接口,然后創(chuàng)建各自的動(dòng)態(tài)代理類。
與spring集成可分三個(gè)步驟:
1、把java類對(duì)應(yīng)的Mapper接口類納入spring總的IOC容器。
2、把Java類對(duì)應(yīng)的XML命名空間添加到Mybatis中的Configuration類中的mapperRegistry(用于管理Mybatis的Mapper)
3、使用spring中的IOC容器拓展FactoryBean獲取到Mapper的實(shí)例。(第一步納入spring只是接口)

2、 @Mapper

@Mapper是mybatis自身帶的注解。在spring程序中,mybatis需要找到對(duì)應(yīng)的mapper,在編譯時(shí)生成動(dòng)態(tài)代理類,與數(shù)據(jù)庫(kù)進(jìn)行交互,這時(shí)需要用到@Mapper注解

在這里插入圖片描述

但是有時(shí)候當(dāng)我們有很多mapper接口時(shí),就需要寫(xiě)很多@Mappe注解,這樣很麻煩,有一種簡(jiǎn)便的配置化方法便是在啟動(dòng)類上使
用@MapperScan注解。

在這里插入圖片描述

這樣可以自動(dòng)掃描包路徑下所有的mapper接口,從而不用再在接口上添加任何注解。

3、區(qū)別

相同點(diǎn):

@Mapper和@Repository都是作用在dao層接口,使得其生成代理對(duì)象bean,交給spring 容器管理
對(duì)于mybatis來(lái)說(shuō),都可以不用寫(xiě)mapper.xml文件

不同點(diǎn):

1、@Mapper不需要配置掃描地址,可以單獨(dú)使用,如果有多個(gè)mapper文件的話,可以在項(xiàng)目啟動(dòng)類中加入@MapperScan(“mapper文件所在包”)
2、@Repository不可以單獨(dú)使用,否則會(huì)報(bào)錯(cuò)誤,要想用,必須配置掃描地址(@MapperScannerConfigurer)

4、解決使用@mapper接口時(shí),注入mapper爆紅問(wèn)題

在這里插入圖片描述

在idea中單獨(dú)使用@Mapper注解,在@Autowired時(shí),idea會(huì)提示找不到bean,但是不影響運(yùn)行,如果想消除爆紅,可以將@Mapper注解跟@Repository注解一起用,這樣便可消除爆紅

在這里插入圖片描述

這樣便可消除爆紅

到此這篇關(guān)于淺談springboot @Repository與@Mapper的區(qū)別的文章就介紹到這了,更多相關(guān)springboot @Repository與@Mapper內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java8 Map中新增的方法使用總結(jié)

    Java8 Map中新增的方法使用總結(jié)

    這篇文章主要介紹了Java8 Map中新增的方法使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Spring MVC 攔截器實(shí)現(xiàn)代碼

    Spring MVC 攔截器實(shí)現(xiàn)代碼

    本篇文章主要介紹了Spring MVC 攔截器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • 每日六道java新手入門面試題,通往自由的道路第二天

    每日六道java新手入門面試題,通往自由的道路第二天

    這篇文章主要為大家分享了最有價(jià)值的6道java面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,對(duì)hashCode方法的設(shè)計(jì)、垃圾收集的堆和代進(jìn)行剖析,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Spring MVC參數(shù)自動(dòng)綁定List的解決方法

    Spring MVC參數(shù)自動(dòng)綁定List的解決方法

    這篇文章主要為大家詳細(xì)介紹了Spring MVC參數(shù)自動(dòng)綁定List的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java多線程之生產(chǎn)者消費(fèi)者模式詳解

    Java多線程之生產(chǎn)者消費(fèi)者模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java多線程之生產(chǎn)者消費(fèi)者模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • 關(guān)于SpringCloud分布式系統(tǒng)中實(shí)現(xiàn)冪等性的幾種方式

    關(guān)于SpringCloud分布式系統(tǒng)中實(shí)現(xiàn)冪等性的幾種方式

    這篇文章主要介紹了關(guān)于SpringCloud分布式系統(tǒng)中實(shí)現(xiàn)冪等性的幾種方式,冪等函數(shù),或冪等方法,是指可以使用相同參數(shù)重復(fù)執(zhí)行,并能獲得相同結(jié)果的函數(shù),這些函數(shù)不會(huì)影響系統(tǒng)狀態(tài),也不用擔(dān)心重復(fù)執(zhí)行會(huì)對(duì)系統(tǒng)造成改變,需要的朋友可以參考下
    2023-10-10
  • lombok?子類中如何使用@Builder問(wèn)題

    lombok?子類中如何使用@Builder問(wèn)題

    這篇文章主要介紹了lombok?子類中如何使用@Builder問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Java8 LocalDateTime極簡(jiǎn)時(shí)間日期操作小結(jié)

    Java8 LocalDateTime極簡(jiǎn)時(shí)間日期操作小結(jié)

    這篇文章主要介紹了Java8-LocalDateTime極簡(jiǎn)時(shí)間日期操作整理,通過(guò)實(shí)例代碼給大家介紹了java8 LocalDateTime 格式化問(wèn)題,需要的朋友可以參考下
    2020-04-04
  • SpringCloud 2020-Ribbon負(fù)載均衡服務(wù)調(diào)用的實(shí)現(xiàn)

    SpringCloud 2020-Ribbon負(fù)載均衡服務(wù)調(diào)用的實(shí)現(xiàn)

    這篇文章主要介紹了SpringCloud 2020-Ribbon負(fù)載均衡服務(wù)調(diào)用的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java中線程Thread的三種方式和對(duì)比

    Java中線程Thread的三種方式和對(duì)比

    這篇文章主要介紹了Java中線程Thread的三種方式和對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論