亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

@MapperScan和@ComponentScan一塊使用導致沖突的解決方法

發布時間:2021-11-05 17:49:46 來源:億速云 閱讀:1040 作者:柒染 欄目:開發技術

這篇文章給大家介紹@MapperScan和@ComponentScan一塊使用導致沖突的解決方法,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

    @MapperScan和@ComponentScan一塊使用沖突

    項目集成了knief4j

    報錯:

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

    很明顯是容器缺少必須的bean,啟動不成功

    解決方案

    方案一

    @MapperScan和@ComponentScan一起使用

    1.建一個配置類

    啟動類不做改變

    package com.test.config;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    @ComponentScan("com.test.bean")
    public class FileNameUtilsConfig {
    }
    方案二

    啟動類做改變,使用@MapperScan一塊掃描

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

    項目中@MapperScan和@Mapper共存之坑XxxMapper that could not be found.

    公司項目有個小伙子將項目的日志功能做了優化。今天在pom添加依賴,在啟動類上加個注解,然后啟動項目突然報了ModuleMapper 找不到。

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    項目一直是好的,又沒有對這個mapper修改。進入ModuleMapper 中發現上面也是有@Mapper注解的

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    可是為什么容器找不到呢,分析一下剛剛修改的才做,引入依賴加注解,問題可能是注解上的問題,注釋掉添加的注解,啟動服務正常運行。罪魁禍首就是這個注解。

    點解注解發現配置類上有個@MapperScan掃描注入。發現這伙計需要操作數據庫。而我接收負責的項目用的是傳統的@Mapper注入。

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    思考:難道在一個項目中@MapperScan和@Mapper不能共存嗎?

    嘗試解決

    自己創建一個springboot 項目,開始用@Mapper 注入容器 啟動程序。程序正常啟動。

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    停掉服務,將mapp文件上的@Mapper刪除 ,將文件移動到mapper文件中,在啟動類上添加@MapperScan 掃包注入。正常啟動。

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    現在測試@MapperScan 和@Mapper 分別在不包中測試一下。現在將UserMapper 放在mapper包中, 將UserTokenMapper 放在mapper2包中并添加@Mapper 啟動測試。

    啟動類:

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    UserMapper :

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    UserTokenMapper :

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    啟動項目報錯:

    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

    @MapperScan和@ComponentScan一塊使用導致沖突的解決方法

    然后我有測試可@MapperScan 掃描的包中不放mapper 文件,mapper2 中mapper文件都添加@Mapper,發現啟動正常。

    又測試了@MapperScan 和@Mapper 同在一個包中,啟動正常。

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

    為了項目快速開發,為了以后更好的兼容,我將項目改為@MapperScan 模式,因為一個注解可以配置多個包路徑。

    關于@MapperScan和@ComponentScan一塊使用導致沖突的解決方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    津市市| 遂溪县| 江油市| 鹤庆县| 红河县| 仁寿县| 宣汉县| 宜城市| 双城市| 莎车县| 府谷县| 临朐县| 通化市| 永善县| 达拉特旗| 尉犁县| 仙游县| 青铜峡市| 突泉县| 陆河县| 文山县| 黄龙县| 乌拉特后旗| 隆昌县| 紫金县| 湄潭县| 昭通市| 渝中区| 西安市| 崇左市| 安庆市| 汝南县| 星座| 饶阳县| 阿坝| 安化县| 鄂伦春自治旗| 青龙| 利辛县| 馆陶县| 鄱阳县|