Mybatis中 mapper-locations和@MapperScan的作用
SpringBoot集成Mybatis時(shí)mybatis.mapper-locations和@MapperScan的作用
1、mybatis.mapper-locations的作用
mybatis.mapper-locations在SpringBoot配置文件中使用,作用是掃描Mapper接口對(duì)應(yīng)的XML文件,如圖中所示:掃描的是resources下的mapper文件夾中所有的xml結(jié)尾的文件。 _注:如果全程使用@Mapper注解,可以不使用該配置,即@Mapper可以替代Mapper接口對(duì)應(yīng)的.xml文件,SpringBoot提倡“約定優(yōu)于配置”。_*

我們可以點(diǎn)進(jìn)去,可以看到是@ConfigurationProperties修飾的類,它的作用是將配置文件中的屬性映射到對(duì)象中

此處是會(huì)將配置文件中以mybatis前綴的屬性映射到對(duì)應(yīng)字段上,即將mybatis.mapper-locations通過set方法映射到MapperLocations屬性上


2、@MapperScan的作用
@MapperScan寫在SpringBoot的啟動(dòng)類上(xxxApplication.java),作用是掃描Mapper接口類。

點(diǎn)進(jìn)去可以看到@MapperScan會(huì)注冊(cè)BeanDefinition到BeanFactory中,即生成接口對(duì)應(yīng)的實(shí)現(xiàn)類。具體怎么實(shí)現(xiàn)不在此處贅述,有興趣可以自行查看源碼

@Retention作用是定義被它所注解的注解保留多久 @Target表明注解的作用目標(biāo) Documented注解表明這個(gè)注解應(yīng)該被 javadoc工具記錄 @Import注解就是之前xml配置中的import標(biāo)簽,可以用于依賴第三方包中bean的配置和加載 @Repeatable注解表明標(biāo)記的注解可以多次應(yīng)用于相同的聲明或類型
總結(jié):
1、mybatis.mapper-locations在SpringBoot配置文件中使用,作用是掃描Mapper接口對(duì)應(yīng)的XML文件
2、@MapperScan會(huì)掃描Mapper接口類,并生成對(duì)應(yīng)的實(shí)現(xiàn)類。
到此這篇關(guān)于Mybatis中 mapper-locations和@MapperScan的作用的文章就介紹到這了,更多相關(guān) mapper-locations和@MapperScan詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目啟動(dòng)時(shí)提示程序包不存在和找不到符號(hào)的處理方法
最近接手同事開發(fā)的一個(gè)Springboot工作項(xiàng)目,從svn上整體拉取下來后,構(gòu)建完成后,啟動(dòng)的時(shí)候遇到了程序包找不到的情況,所以本文記錄了SpringBoot項(xiàng)目啟動(dòng)時(shí)提示程序包不存在和找不到符號(hào)的處理方法,需要的朋友可以參考下2024-05-05
springboot docker jenkins 自動(dòng)化部署并上傳鏡像的步驟詳解
這篇文章主要介紹了springboot docker jenkins 自動(dòng)化部署并上傳鏡像的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Java for循環(huán)性能優(yōu)化實(shí)現(xiàn)解析
這篇文章主要介紹了Java for循環(huán)性能優(yōu)化實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Spring事務(wù)中@Transactional注解不生效的原因分析與解決
在Spring框架中,@Transactional注解是管理數(shù)據(jù)庫(kù)事務(wù)的核心方式,本文將深入分析事務(wù)自調(diào)用的底層原理,解釋為什么事務(wù)不生效,并提供多種解決方案,希望對(duì)大家有所幫助2025-03-03
Java?實(shí)戰(zhàn)項(xiàng)目之家政服務(wù)平臺(tái)系統(tǒng)的實(shí)現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)家政服務(wù)平臺(tái)系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11
Intellij IDEA 關(guān)閉和開啟自動(dòng)更新的提示?
這篇文章主要介紹了Intellij IDEA 關(guān)閉和開啟自動(dòng)更新的提示操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04
SpringBoot實(shí)現(xiàn)國(guó)際化的教程
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)國(guó)際化的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
SpringBoot異步實(shí)現(xiàn) 的8種方式
在同步操作中,執(zhí)行到?發(fā)送短信?的時(shí)候,我們必須等待這個(gè)方法徹底執(zhí)行完才能執(zhí)行?贈(zèng)送積分?這個(gè)操作,如果?贈(zèng)送積分?這個(gè)動(dòng)作執(zhí)行時(shí)間較長(zhǎng),發(fā)送短信需要等待,這就是典型的同步場(chǎng)景,這篇文章主要介紹了SpringBoot異步實(shí)現(xiàn) 的8種方式,需要的朋友可以參考下2023-11-11

