SpringBoot 在測試時(shí)如何指定包的掃描范圍
在測試時(shí)如何指定包的掃描范圍
@SpringBootTest注解,在SpringBoot在啟動(dòng)會(huì)根據(jù)主啟動(dòng)類上的@SpringBootApplication去掃描當(dāng)前類及其子包下的類.當(dāng)出現(xiàn)子包中相同類名時(shí),容器失敗.
可以通過為相同的類指定不同的ID解決,也可以通過在SpringBoot測試時(shí)指容器的包掃描范圍解決。
具體如下:
以往…這么寫
@RunWith(SpringRunner.class) @SpringBootTest public class IocTest { /** 測試方法等... */ }
通過@SpringBootApplication注解配置容器的包掃描范圍
@RunWith(SpringRunner.class) @SpringBootApplication(scanBasePackages = "com.example.xxx") public class IocTest { /** 測試方法等... */ }
配置掃描包范圍
近期在學(xué)習(xí)java的spring框架,得知使用注解需要配置包掃描的范圍,然而在SpringBoot項(xiàng)目中的配置文件里找不到如spring類似的配置
<context:component-scan base-package=”XX.XX”/>
經(jīng)查閱資料SpringBoot其實(shí)有默認(rèn)的包掃描機(jī)制,啟動(dòng)類所在的當(dāng)前包以及包的子類都會(huì)默認(rèn)被掃描,所以新手在學(xué)習(xí)這個(gè)框架的時(shí)候,有時(shí)候可能因?yàn)閎ean和啟動(dòng)類不在一個(gè)文件夾下導(dǎo)致掃描不到引起的注解失敗問題。
啟動(dòng)類:項(xiàng)目的入口函數(shù),一般命名規(guī)范是xxxApplication.java,并且?guī)в蠤SpringBootApplication的注解,也有我們常見的java中的main函數(shù)。
如何修改包掃描的位置?
方法一
在啟動(dòng)類的SpringBootApplication注解中配置scanBasePackages即可,如下
@SpringBootApplication(scanBasePackages = "org.sang.service")
也可以配置多個(gè)包路徑
@SpringBootApplication(scanBasePackages = {"org.sang.bean","org.sang.service"})
方法二
在啟動(dòng)類里添加@ComponentScan注解配置basePackages
@ComponentScan(basePackages = {"org.sang.bean","org.sang.service"})
兩個(gè)配置方法選擇其一即可。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java redisson實(shí)現(xiàn)分布式鎖原理詳解
這篇文章主要介紹了Java redisson實(shí)現(xiàn)分布式鎖原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02如何利用反射生成?MyBatisPlus中QueryWrapper動(dòng)態(tài)條件
這篇文章主要介紹了如何利用反射生成?MyBatisPlus中QueryWrapper動(dòng)態(tài)條件,分享在MyBatisPlus中經(jīng)常會(huì)用到代碼來構(gòu)造查詢條件等內(nèi)容,需要的小伙伴可以參考一下2022-02-02Java語言的Comparable和Comparator區(qū)別
這篇文章主要介紹了Java語言的Comparable和Comparator區(qū)別,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06關(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ì)對系統(tǒng)造成改變,需要的朋友可以參考下2023-10-10Java實(shí)現(xiàn)多個(gè)文檔合并輸出到一個(gè)文檔
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多個(gè)文檔合并輸出到一個(gè)文檔的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10SpringBoot Validation入?yún)⑿r?yàn)國際化的項(xiàng)目實(shí)踐
在Spring Boot中,可以使用Validation和國際化來實(shí)現(xiàn)對入?yún)⒌男r?yàn),本文就來介紹一下SpringBoot Validation入?yún)⑿r?yàn)國際化,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10java必學(xué)必會(huì)之方法的重載(overload)
java必學(xué)必會(huì)之方法的重載,介紹了方法的重載、構(gòu)造方法的重載,想要學(xué)好java方法的重載的朋友一定要好好閱讀這篇文章2015-12-12Apache POI將PPT轉(zhuǎn)換成圖片實(shí)例代碼
這篇文章主要介紹了Apache POI將PPT轉(zhuǎn)換成圖片實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01