解決SpringBoot引用別的模塊無法注入的問題
引用別的模塊無法注入的問題
前段時(shí)間嘗試著利用空閑時(shí)間搭建了一個(gè)IIM消息通信系統(tǒng),目前還是Demo級(jí)別,具體實(shí)現(xiàn)還在不斷補(bǔ)充,在開發(fā)過程中遇到了一個(gè)小問題,在此分享出來,猛男請(qǐng)忽略。
問題描述
由于前期搭建的比較匆忙,擱那狂寫調(diào)用邏輯,沒注意自己的包名有點(diǎn)奇怪。
目前是分為這三個(gè)模塊,客戶端,公共處理模塊,服務(wù)端,不過我正在琢磨著給這玩意再整個(gè)路由注冊(cè)中心,便于客戶端和服務(wù)端的橫向拓展。
目前我server子模塊的包名和common子模塊的包路徑如下
我在service包里的類里引用common包下的公共類時(shí),發(fā)現(xiàn)無法注入我的消息分發(fā)器公共類;
emmmmm…以前自己配置過XML的包掃描,沒試過注解的掃描。
解決方法
1.在啟動(dòng)類**@SpringBootApplication**加參數(shù) ,掃描指定的包
@SpringBootApplication(scanBasePackages = {“com.zhl.dispatcher”,“server.server”})
這里也包括其他模塊的包,掃描到包及子包的類。加載進(jìn)Spring的容器當(dāng)中。
2.新增注解
@ComponentScan(value = {“com.zhl.dispatcher”,“server.server”})
第二種其實(shí)這個(gè)注解是有些多余,@SpringBootApplication本身就已經(jīng)包含掃描包路徑的屬性了,不過這兩種方法都可以用哦
多模塊項(xiàng)目中無法注入其他模塊的spring bean
在一個(gè)springboot項(xiàng)目中創(chuàng)建了一個(gè)common模塊,一個(gè)admin模塊,
在admin模塊中引入common模塊依賴,發(fā)現(xiàn)無法注入common模塊中的bean,idea提示無法找到bean。
瞎忙活一晚上,最后發(fā)現(xiàn)是兩個(gè)模塊路徑不同意,一個(gè)是com.example.common,另一個(gè)是com.example.admin。
這是因?yàn)閟pringboot的@SpringBootApplication注解默認(rèn)掃描范圍為自己的啟動(dòng)類所在的包(com.example.admin)及其子包,所以此時(shí)模塊admin并沒有掃描到模塊common的bean,那么自然無法在模塊admin中注入模塊common的Service類。
最后:
方法一:都改成com.example就好了。
方法二:手動(dòng)修改成導(dǎo)入多個(gè)包,@SpringBootApplication(scanBasePackages = {“com.example.admin”, “com.example.common”})
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Hibernate基于ThreadLocal管理Session過程解析
這篇文章主要介紹了Hibernate基于ThreadLocal管理Session過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10Spring數(shù)據(jù)庫連接池url參數(shù)踩坑及解決
這篇文章主要介紹了Spring數(shù)據(jù)庫連接池url參數(shù)踩坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09JavaFX Application應(yīng)用實(shí)例
下面小編就為大家?guī)硪黄狫avaFX Application應(yīng)用實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10Spring使用注解存儲(chǔ)Bean對(duì)象的方法詳解
在使用學(xué)習(xí)使用 Spring過程中,當(dāng)我們要實(shí)現(xiàn)一個(gè)功能的時(shí)候,先應(yīng)該考慮的是有沒有相應(yīng)的注解是實(shí)現(xiàn)對(duì)應(yīng)功能的,Spring 中很多功能的配置都是可以依靠注解實(shí)現(xiàn)的,而本篇中介紹的是使用注解來存儲(chǔ) Bean 對(duì)象2023-07-07Spring Boot集成MyBatis訪問數(shù)據(jù)庫的方法
這篇文章主要介紹了Spring Boot集成MyBatis訪問數(shù)據(jù)庫的方法,需要的朋友可以參考下2017-04-04SpringBoot發(fā)送短信驗(yàn)證碼的實(shí)例
第三方短信發(fā)送平臺(tái)有很多種,各個(gè)平臺(tái)有各自的優(yōu)缺點(diǎn),在選擇的時(shí)候可以根據(jù)自己的具體實(shí)際情況定奪,本文主要介紹了SpringBoot發(fā)送短信驗(yàn)證碼的實(shí)例,感興趣的可以了解一下2022-02-02