@SpringBootApplication的scanBasePackages自定義后不會走默認掃描主類當前包及子包的邏輯


現象:spring boot中當前模塊引入另外一個模塊后,需要用到另一個模塊的接口等,因為spring boot中的@SpringBootApplication注解默認掃描主類當前包及子包,不做其他配置的話,無法掃描到另一個模塊的注解,也就無法發現另一個模塊的文件。

操作:既然知道@SpringBootApplication注解默認掃描主類當前包及子包,那么就加入屬性,掃描其他模塊的包即可。

@SpringBootApplication(scanBasePackages = {"com.demo.service"})

結果:配置之后確實能夠掃描到另一個模塊的包,autowired另一個包的類編輯器也沒有報錯說找不到了,項目也能夠正常啟動。但是啟動模塊后,本模塊下的所有注釋似乎沒有掃描到,因為postman調用本模塊的接口返回全都是404,甚至還有亂碼。

 

 結論:因為自定義了@SpringBootApplication的scanBasePackages屬性后不會走默認掃描主類當前包及子包的邏輯,而是認定只掃描自定義配置的包路徑,所以如果自定義了包路徑,如果還要使用本模塊的包,需要手動配置上本模塊的包路徑。

@SpringBootApplication(scanBasePackages = {"com.demo.myBaseModel","com.demo.service"})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM