解決SpringBoot引用別的模塊無法注入的問題
引用別的模塊無法注入的問題
前段時間嘗試著利用空閑時間搭建了一個IIM消息通信系統(tǒng),目前還是Demo級別,具體實現(xiàn)還在不斷補(bǔ)充,在開發(fā)過程中遇到了一個小問題,在此分享出來,猛男請忽略。
問題描述
由于前期搭建的比較匆忙,擱那狂寫調(diào)用邏輯,沒注意自己的包名有點(diǎn)奇怪。
目前是分為這三個模塊,客戶端,公共處理模塊,服務(wù)端,不過我正在琢磨著給這玩意再整個路由注冊中心,便于客戶端和服務(wù)端的橫向拓展。

目前我server子模塊的包名和common子模塊的包路徑如下


我在service包里的類里引用common包下的公共類時,發(fā)現(xiàn)無法注入我的消息分發(fā)器公共類;


emmmmm…以前自己配置過XML的包掃描,沒試過注解的掃描。
解決方法
1.在啟動類**@SpringBootApplication**加參數(shù) ,掃描指定的包
@SpringBootApplication(scanBasePackages = {“com.zhl.dispatcher”,“server.server”})這里也包括其他模塊的包,掃描到包及子包的類。加載進(jìn)Spring的容器當(dāng)中。

2.新增注解
@ComponentScan(value = {“com.zhl.dispatcher”,“server.server”})
第二種其實這個注解是有些多余,@SpringBootApplication本身就已經(jīng)包含掃描包路徑的屬性了,不過這兩種方法都可以用哦
多模塊項目中無法注入其他模塊的spring bean
在一個springboot項目中創(chuàng)建了一個common模塊,一個admin模塊,
在admin模塊中引入common模塊依賴,發(fā)現(xiàn)無法注入common模塊中的bean,idea提示無法找到bean。
瞎忙活一晚上,最后發(fā)現(xiàn)是兩個模塊路徑不同意,一個是com.example.common,另一個是com.example.admin。
這是因為springboot的@SpringBootApplication注解默認(rèn)掃描范圍為自己的啟動類所在的包(com.example.admin)及其子包,所以此時模塊admin并沒有掃描到模塊common的bean,那么自然無法在模塊admin中注入模塊common的Service類。
最后:
方法一:都改成com.example就好了。
方法二:手動修改成導(dǎo)入多個包,@SpringBootApplication(scanBasePackages = {“com.example.admin”, “com.example.common”})
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring boot 項目利用Jenkins實現(xiàn)自動化部署的教程詳解
這篇文章主要介紹了spring boot 項目利用Jenkins實現(xiàn)自動化部署的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07
springboot項目啟動自動跳轉(zhuǎn)到瀏覽器的操作代碼
這篇文章主要介紹了springboot項目啟動自動跳轉(zhuǎn)到瀏覽器的操作代碼,本文圖文實例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03
解決SpringBoot啟動過后不能訪問jsp頁面的問題(超詳細(xì))
這篇文章主要介紹了解決SpringBoot啟動過后不能訪問jsp頁面的問題,文中通過示例代碼介紹的非常詳細(xì),有需要的朋友可以參考一下,希望對你有所幫助。2020-05-05
Spring Boot 配置 Quartz 定時任務(wù)的方法
這篇文章主要介紹了Spring Boot 配置 Quartz 定時任務(wù)的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
SpringBoot中使用Redisson的實現(xiàn)示例
Redission是一個強(qiáng)大的Java庫,用于構(gòu)建和管理分布式系統(tǒng)中的緩存和任務(wù)調(diào)度,本文主要介紹了SpringBoot中使用Redisson的實現(xiàn)示例,感興趣的可以了解一下2023-12-12
idea install 時提示jdk的某個jar包的包不存在的問題
這篇文章主要介紹了idea install 時提示jdk的某個jar包的包不存在的問題,本文給大家分享解決方法,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
SpringBoot+Redis使用AOP防止重復(fù)提交的實現(xiàn)
本文主要介紹了SpringBoot+Redis使用AOP防止重復(fù)提交的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07

