springboot多模塊包掃描問題的解決方法
問題描述:
springboot建立多個模塊,當一個模塊需要使用另一個模塊的服務(wù)時,需要注入另一個模塊的組件,如下面圖中例子:
memberservice模塊中的MemberServiceApiImpl類需要注入common模塊中的RedisService組件,該怎么注入呢?
解決:
在memberservice模塊的啟動類上加上RedisService類所在包的全路徑的組件掃描,就像這樣:
注意啟動類上方的注解@ComponentScan(basePackages={“com.whu.commom.redis”}),這一句實際上就已經(jīng)加上了RedisService的組件掃描,但是這樣做是有問題的,我發(fā)現(xiàn)啟動后服務(wù)不能正常訪問。查找資料后發(fā)現(xiàn)是因為@ComponentScan 和@SpringBootApplication注解的包掃描有沖突,@ComponentScan注解包掃描會覆蓋掉@SpringBootApplication的包掃描。解決辦法就是在@ComponentScan(basePackages={“com.whu.commom.redis”})的基礎(chǔ)上加上@SpringBootApplication掃描的包,那么@SpringBootApplication掃描了哪些包呢?實際上,它默認掃描的是啟動類所在的包及其子包,所以我的例子上需要改成@ComponentScan(basePackages={“com.whu.commom.redis”,“com.whu.memberservice”}). OK ,結(jié)束?。?/p>
到此這篇關(guān)于springboot多模塊包掃描問題的解決方法的文章就介紹到這了,更多相關(guān)springboot多模塊包掃描內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 快速解決ajax返回值給外部函數(shù)的問題2. SpringBoot+SpringCache實現(xiàn)兩級緩存(Redis+Caffeine)3. 每日六道java新手入門面試題,通往自由的道路4. ASP.NET MVC視圖頁使用jQuery傳遞異步數(shù)據(jù)的幾種方式詳解5. ASP.NET泛型三之使用協(xié)變和逆變實現(xiàn)類型轉(zhuǎn)換6. Idea 2019.3 本應(yīng)該搜索到的插件卻搜索不到的解決方法7. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法8. php讀取xml中某個元素的內(nèi)容(PHP5以上才支持)9. 每日六道java新手入門面試題,通往自由的道路--多線程10. IntelliJ IDEA導入jar包的方法
