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

解決springboot報錯找不到自動注入的service問題

 更新時間:2021年08月12日 11:13:04   作者:Sum_mer_1121  
這篇文章主要介紹了解決springboot報錯找不到自動注入的service問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

springboot報錯找不到自動注入的service

找了不少資料,最后發(fā)現(xiàn)是每個service接口(雖然已經(jīng)使用了@service注解)的實現(xiàn)類都需要加上@service注解。

如果是使用junit生成的測試類,發(fā)現(xiàn)無法自動注入服務(wù)的話

在test啟動類前加上

@RunWith(SpringRunner.class)
@SpringBootTest
@ComponentScan("com.XXX.service")

這是因為test包和啟動類不在同一個包或子包下,無法自動注入

Springboot Service不被識別

根據(jù)以往經(jīng)驗,在Mapper接口沒有添加注解的情況下,Service中自動注入的Mapper都會報紅,這次沒有報紅就知道會出錯,然后測試的時候果不其然報錯了。

之所以沒有報紅是因為service類沒有被識別,就是@Service沒有被掃描,所以應(yīng)該是掃描路徑出了問題。

具體原因

在Springboot的啟動類上添加@ComponentScan

@SpringbootApplication是一個復(fù)合注解,它中包含了:@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan這三個注解。

@ComponentScan是組件掃描注解,它默認掃描的是當(dāng)前包及以下用來掃描@Controller @Service @Repository這類被標記的類。

錯誤原因:

我的分布式項目中,路徑如下:

xxx.xxx.modle

xxx.xxx.mapper

xxx.xxx.service

xxx.xxx.web

啟動類在web目錄下,因此@ComponentScan默認掃描路徑是xxx.xxx.web

因為web與modle、mapper、service在同一級別下所以無法掃描到@Service注解。

解決方法

方法一

將啟動類移動到上一級目錄。

方法二

自己定義掃描路徑,寫法如下:

//注解寫法:三種方法效果類似,都是指定掃描路徑
@ComponentScan("xxx.xxx")
@ComponentScan(value = "xxx.xxx")
@ComponentScan(basePackages = "xxx.xxx")

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

相關(guān)文章

  • 學(xué)習(xí)Java的Date、Calendar日期操作

    學(xué)習(xí)Java的Date、Calendar日期操作

    Java開發(fā)過程中避免不了日期相關(guān)操作,這篇文章總結(jié)了一些Date、Calendar的常用方法,需要的朋友可以參考下
    2015-07-07
  • Java中Set集合轉(zhuǎn)為List集合常見的兩種方式

    Java中Set集合轉(zhuǎn)為List集合常見的兩種方式

    List是Java中比較常用的集合類,指一系列存儲數(shù)據(jù)的接口和類,可以解決復(fù)雜的數(shù)據(jù)存儲問題,這篇文章主要給大家介紹了關(guān)于Java中Set集合轉(zhuǎn)為List集合常見的兩種方式,需要的朋友可以參考下
    2023-12-12
  • SpringCloud添加客戶端Eureka Client過程解析

    SpringCloud添加客戶端Eureka Client過程解析

    這篇文章主要介紹了SpringCloud添加客戶端Eureka Client過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • SpringCloud用Zookeeper搭建配置中心的方法

    SpringCloud用Zookeeper搭建配置中心的方法

    本篇文章主要介紹了SpringCloud用Zookeeper搭建配置中心的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java中獲取鍵盤輸入值的三種方法介紹

    Java中獲取鍵盤輸入值的三種方法介紹

    這篇文章主要介紹了Java中獲取鍵盤輸入值的三種方法介紹,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot_Cache自定義使用SimpleCacheManager方式

    SpringBoot_Cache自定義使用SimpleCacheManager方式

    這篇文章主要介紹了SpringBoot_Cache自定義使用SimpleCacheManager方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java實現(xiàn)將CSV轉(zhuǎn)為Excel的示例代碼

    Java實現(xiàn)將CSV轉(zhuǎn)為Excel的示例代碼

    CSV(Comma?Separated?Values)文件是一種純文本文件,包含用逗號分隔的數(shù)據(jù),常用于將數(shù)據(jù)從一個應(yīng)用程序?qū)牖驅(qū)С龅搅硪粋€應(yīng)用程序。本文將利用Java實現(xiàn)CSV轉(zhuǎn)為Excel,感興趣的可以了解一下
    2022-03-03
  • Java中BigInteger類的使用方法詳解(全網(wǎng)最新)

    Java中BigInteger類的使用方法詳解(全網(wǎng)最新)

    這篇文章主要介紹了Java中BigInteger類的使用方法詳解,常用最全系列,本章作為筆記使用,內(nèi)容比較全面,但常用的只有:構(gòu)造函數(shù),基本運算以及compareTo(),intValue(),setBit(),testBit()方法,需要的朋友可以參考下
    2023-05-05
  • java 下執(zhí)行mysql 批量插入的幾種方法及用時

    java 下執(zhí)行mysql 批量插入的幾種方法及用時

    java 下執(zhí)行mysql 批量插入的幾種方法及用時,1000次插入方法的比較。
    2013-04-04
  • 解析Java中的隊列和用LinkedList集合模擬隊列的方法

    解析Java中的隊列和用LinkedList集合模擬隊列的方法

    這篇文章主要介紹了解析Java中的隊列和用LinkedList集合模擬隊列的方法,相關(guān)算法的實現(xiàn)也是ACM中的常見題目,需要的朋友可以參考下
    2015-08-08

最新評論