springboot多模塊包掃描問(wèn)題的解決方法
問(wèn)題描述:
springboot建立多個(gè)模塊,當(dāng)一個(gè)模塊需要使用另一個(gè)模塊的服務(wù)時(shí),需要注入另一個(gè)模塊的組件,如下面圖中例子:
memberservice模塊中的MemberServiceApiImpl類(lèi)需要注入common模塊中的RedisService組件,該怎么注入呢?
解決:
在memberservice模塊的啟動(dòng)類(lèi)上加上RedisService類(lèi)所在包的全路徑的組件掃描,就像這樣:
注意啟動(dòng)類(lèi)上方的注解@ComponentScan(basePackages={“com.whu.commom.redis”}),這一句實(shí)際上就已經(jīng)加上了RedisService的組件掃描,但是這樣做是有問(wèn)題的,我發(fā)現(xiàn)啟動(dòng)后服務(wù)不能正常訪(fǎng)問(wèn)。查找資料后發(fā)現(xiàn)是因?yàn)锧ComponentScan 和@SpringBootApplication注解的包掃描有沖突,@ComponentScan注解包掃描會(huì)覆蓋掉@SpringBootApplication的包掃描。解決辦法就是在@ComponentScan(basePackages={“com.whu.commom.redis”})的基礎(chǔ)上加上@SpringBootApplication掃描的包,那么@SpringBootApplication掃描了哪些包呢?實(shí)際上,它默認(rèn)掃描的是啟動(dòng)類(lèi)所在的包及其子包,所以我的例子上需要改成@ComponentScan(basePackages={“com.whu.commom.redis”,“com.whu.memberservice”}). OK ,結(jié)束!!
到此這篇關(guān)于springboot多模塊包掃描問(wèn)題的解決方法的文章就介紹到這了,更多相關(guān)springboot多模塊包掃描內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Docker與iptables及實(shí)現(xiàn)bridge方式網(wǎng)絡(luò)隔離與通信操作2. HTML <!DOCTYPE> 標(biāo)簽3. python中scrapy處理項(xiàng)目數(shù)據(jù)的實(shí)例分析4. 基于PHP與XML的PDF文檔生成技術(shù)5. WWDC總結(jié):開(kāi)發(fā)者需要知道的iOS 9 SDK新特性6. Python requests庫(kù)參數(shù)提交的注意事項(xiàng)總結(jié)7. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法8. ASP基礎(chǔ)入門(mén)第三篇(ASP腳本基礎(chǔ))9. jsp文件下載功能實(shí)現(xiàn)代碼10. AJAX的跨域問(wèn)題解決方案
