SpringBoot中@ComponentScan的使用詳解
SpringBoot @ComponentScan的使用
SpringBoot的啟動(dòng)類中有一個(gè)@ComponentScan,之前項(xiàng)目由于這個(gè)注解造成打包失敗,這里對于這個(gè)注解進(jìn)行總結(jié),防止下次遇到這個(gè)問題再被難住。
其實(shí)這個(gè)注解主要是針對于第三方j(luò)ar包中注解的應(yīng)用。
如果第三方包中沒有使用注解那么就完全不需要使用這個(gè)注解

使用方式如圖所示,這里掃描的是

maven項(xiàng)目的依賴包中的ins目錄下的組件
如果是直接引用項(xiàng)目

那么就要引用這個(gè)項(xiàng)目代碼的根路徑,一般公司會(huì)命名為“cn”
SpringBoot @ComponentScan 作用
SpringBoot在寫啟動(dòng)類的時(shí)候如果不使用@ComponentScan指明對象掃描范圍,默認(rèn)指掃描當(dāng)前啟動(dòng)類所在的包里的對象,如果當(dāng)前啟動(dòng)類沒有包,則在啟動(dòng)時(shí)會(huì)報(bào)錯(cuò):
Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package錯(cuò)誤
因?yàn)閱?dòng)類不能直接放在main/java文件夾下,必須要建一個(gè)包把它放進(jìn)去或者使用@ComponentScan指明要掃描的包。代碼示例如下:
@SpringBootApplication
@ComponentScan(basePackageClasses=MytestApplication.class)
public class MytestApplication {
public static void main(String[] args){
SpringApplication.run(MytestApplication.class, args);
}
}
@ComponentScan(basePackageClasses=要掃描類.class所在位置的包)-意思是要掃描哪個(gè)類所在的包
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis-Plus設(shè)置全局或者局部ID自增的實(shí)現(xiàn)
在使用Mybatis-Plus新增的時(shí)候,我們往往想要id隨著數(shù)據(jù)庫自增,本文主要介紹了Mybatis-Plus設(shè)置全局或者局部ID自增的實(shí)現(xiàn),具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
學(xué)會(huì)Pulsar Consumer的使用方式
這篇文章主要介紹了Pulsar Consumer的使用方式,全文使用大量的代碼來做了詳細(xì)的講解,感興趣的小伙伴可以參考一下這篇文章,希望讀完能對你有很大的幫助2021-08-08
java程序員必會(huì)的遠(yuǎn)程debug教程
這篇文章主要為大家介紹了java程序員必會(huì)的遠(yuǎn)程debug教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
編譯期動(dòng)態(tài)替換三方包中的Class文件過程詳解
這篇文章主要為大家介紹了編譯期動(dòng)態(tài)替換三方包中的Class文件過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Java設(shè)計(jì)模式之動(dòng)態(tài)代理
今天小編就為大家分享一篇關(guān)于Java設(shè)計(jì)模式之動(dòng)態(tài)代理,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01
完美解決SpringCloud-OpenFeign使用okhttp替換不生效問題
這篇文章主要介紹了完美解決SpringCloud-OpenFeign使用okhttp替換不生效問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02

