1.背景:
我將應(yīng)用分成了parent+core+server這種模式诅需,parent是一個(gè)單純的pom文件,存放項(xiàng)目的一些公共依賴;core則是一個(gè)沒有啟動(dòng)類的SpringBoot項(xiàng)目正歼,存放項(xiàng)目的核心代碼,例如model拷橘、filter、listener及配置等喜爷;server則是一個(gè)實(shí)際的應(yīng)用項(xiàng)目冗疮,包含一個(gè)SpringBoot啟動(dòng)類,提供各種實(shí)際的功能檩帐。
2.我遇到的問題:
啟動(dòng)StaticFileServerApplication术幔,項(xiàng)目啟動(dòng)成功,但是發(fā)現(xiàn)在core中編寫的包括repository等并未成功注入湃密,配置類也沒有生效诅挑。即SpringBoot并沒有掃描到這些文件。
3.解決方法:
問題很明顯泛源,是由于我們的代碼并沒有被SpringBoot自動(dòng)注入進(jìn)去拔妥,那么就朝著這個(gè)方向努力。
方法:
-
將StaticFileServerApplication位置向上提升一級(jí)达箍,即讓StaticFileServerApplication的包名變?yōu)閏om.chenwei.site没龙。
image.png -
在StaticFileServerApplication上注解SpringBootApplication里添加scanBasePackages = "com.chenwei.site"。
image.png
解釋:
由于SpringBoot默認(rèn)包掃描機(jī)制是:從啟動(dòng)類所在包開始缎玫,掃描當(dāng)前包及其子包下的所有文件硬纤。
由于剛開始我的啟動(dòng)類包名為:com.chenwei.site.staticfileserver,而core項(xiàng)目文件包名均為com.chenwei.site.core.*,故core下文件無法被掃描注入赃磨。