springboot掃描引入jar包的service等組件方式

在pom中引入對應的依賴,如果引入的三方jar包跟該項目Application所在包目錄包含被依賴jar包目錄,

即下面的情況:

像上面這種包組織的話,是不需要額外加入任何配置的(前提是依賴jar包相應組件一定要有@Component等註解修飾),因為springboot項目默認掃描目錄就是Application所在目錄及子目錄,但是這種情況僅限於單個項目安排,項目大瞭就不一定滿足瞭,

這時可以通過下面的方式引入掃描路徑:

或者通過@ComponentScan註解也可以,需要註意的是不要忘瞭掃描自身項目,因為加入@ComponentScan等註解後相當於沒有任何其他掃描目錄瞭,隻按照指定的目錄掃描!!!

springboot掃描不到依賴項目的service

場景:

有一個公共項目api_datasync.要掃描的類在com.api.common包下,現在有一個項目userauth,依賴瞭公共項目api_datasync.,Application啟動類在包com.base.userauth下,啟動後找不到capi_datasync項目中的類

解決辦法:

在Application啟動類添加註解@ComponentScan(value=”com”)即可解決問題,或者配置掃描多個包

@ComponentScan(basePackages= {“com.base.userauth”,”com.api.common”})

添加註解後,spring將隻掃描註解配置的包,不再自動掃描啟動類所在包及子包下的文件

註意:springboot 默認掃描的路徑,是該工程application啟動類所在包以及所有子包下的所有文件。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: