最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

@MapperScan和@ComponentScan一塊使用導(dǎo)致沖突的解決

 更新時(shí)間:2021年11月05日 15:52:39   作者:三人行必有吾師焉  
這篇文章主要介紹了@MapperScan和@ComponentScan一塊使用導(dǎo)致沖突的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@MapperScan和@ComponentScan一塊使用沖突

項(xiàng)目集成了knief4j

報(bào)錯(cuò):

NoSuchBeanDefinitionException: No qualifying bean of type 'springfox.documentation.schema.TypeNameExtractor'

很明顯是容器缺少必須的bean,啟動(dòng)不成功

解決方案

方案一

@MapperScan和@ComponentScan一起使用

1.建一個(gè)配置類(lèi)

啟動(dòng)類(lèi)不做改變

package com.test.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.test.bean")
public class FileNameUtilsConfig {
}

方案二

啟動(dòng)類(lèi)做改變,使用@MapperScan一塊掃描

@MapperScan(basePackages = {"com.test.mapper","com.test.bean"})

項(xiàng)目中@MapperScan和@Mapper共存之坑X(jué)xxMapper that could not be found.

公司項(xiàng)目有個(gè)小伙子將項(xiàng)目的日志功能做了優(yōu)化。今天在pom添加依賴(lài),在啟動(dòng)類(lèi)上加個(gè)注解,然后啟動(dòng)項(xiàng)目突然報(bào)了ModuleMapper 找不到。

加粗樣式

項(xiàng)目一直是好的,又沒(méi)有對(duì)這個(gè)mapper修改。進(jìn)入ModuleMapper 中發(fā)現(xiàn)上面也是有@Mapper注解的

在這里插入圖片描述

可是為什么容器找不到呢,分析一下剛剛修改的才做,引入依賴(lài)加注解,問(wèn)題可能是注解上的問(wèn)題,注釋掉添加的注解,啟動(dòng)服務(wù)正常運(yùn)行。罪魁禍?zhǔn)拙褪沁@個(gè)注解。

點(diǎn)解注解發(fā)現(xiàn)配置類(lèi)上有個(gè)@MapperScan掃描注入。發(fā)現(xiàn)這伙計(jì)需要操作數(shù)據(jù)庫(kù)。而我接收負(fù)責(zé)的項(xiàng)目用的是傳統(tǒng)的@Mapper注入。

在這里插入圖片描述

思考:難道在一個(gè)項(xiàng)目中@MapperScan和@Mapper不能共存嗎?

嘗試解決

自己創(chuàng)建一個(gè)springboot 項(xiàng)目,開(kāi)始用@Mapper 注入容器 啟動(dòng)程序。程序正常啟動(dòng)。

在這里插入圖片描述

在這里插入圖片描述

停掉服務(wù),將mapp文件上的@Mapper刪除 ,將文件移動(dòng)到mapper文件中,在啟動(dòng)類(lèi)上添加@MapperScan 掃包注入。正常啟動(dòng)。

在這里插入圖片描述

在這里插入圖片描述

現(xiàn)在測(cè)試@MapperScan 和@Mapper 分別在不包中測(cè)試一下?,F(xiàn)在將UserMapper 放在mapper包中, 將UserTokenMapper 放在mapper2包中并添加@Mapper 啟動(dòng)測(cè)試。

啟動(dòng)類(lèi):

在這里插入圖片描述

UserMapper :

在這里插入圖片描述

UserTokenMapper :

在這里插入圖片描述

啟動(dòng)項(xiàng)目報(bào)錯(cuò):

Description:

Field userTokenMapper in com.wyz.yangyang.member.service.impl.MemberServiceImpl required a bean of type ‘com.wyz.yangyang.member.mapper2.UserTokenMapper' that could not be found.

Action:

Consider defining a bean of type ‘com.wyz.yangyang.member.mapper2.UserTokenMapper' in your configuration.

Disconnected from the target VM, address: ‘127.0.0.1:56527', transport: ‘socket'

Process finished with exit code 1

在這里插入圖片描述

然后我有測(cè)試可@MapperScan 掃描的包中不放mapper 文件,mapper2 中mapper文件都添加@Mapper,發(fā)現(xiàn)啟動(dòng)正常。

又測(cè)試了@MapperScan 和@Mapper 同在一個(gè)包中,啟動(dòng)正常。

在此可以看出 @MapperScan 和@Mapper在不同包中,@Mapper注解失效。

為了項(xiàng)目快速開(kāi)發(fā),為了以后更好的兼容,我將項(xiàng)目改為@MapperScan 模式,因?yàn)橐粋€(gè)注解可以配置多個(gè)包路徑。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

宁津县| 旺苍县| 邵武市| 东海县| 长治县| 南丹县| 西乡县| 泊头市| 南汇区| 资兴市| 加查县| 久治县| 临西县| 抚顺市| 桐乡市| 马鞍山市| 鹤山市| 麟游县| 堆龙德庆县| 濉溪县| 三明市| 曲沃县| 右玉县| 巍山| 吐鲁番市| 奉新县| 溧水县| 金昌市| 旺苍县| 乌拉特后旗| 西宁市| 辰溪县| 东阳市| 文化| 腾冲县| 登封市| 建昌县| 梓潼县| 松阳县| 澄江县| 东阿县|