天天看點

關于SpringBoot啟動過程中報NoSuchBeanDefinitionException的異常的問題

場景:原本app子產品中的類移動到建立的biz子產品中,發現無法注入,報:NoSuchBeanDefinitionException的異常

原因:Spring Boot會自動掃描@SpringBootApplication所在類的同級包,以及下級包裡的所有BEAN,是以建議入口類放在最外層的包名下,而建立biz子產品的時候,建立的包路徑和app子產品中主程式的包路徑不一緻。

關于SpringBoot啟動過程中報NoSuchBeanDefinitionException的異常的問題

總結:圖中的路徑是springboot的掃描包的基礎路徑,所有的類無論在哪個子產品下,都應該以此包路徑為基礎進行建立;另外,可以添加注解@ComponentScan(basePackages = "XXX.XXX")應該可以解決路徑不一緻的問題,但是不建議這麼做。

PS: 其他可能導緻這個異常的情況有:忘記給類添加注解、類的方法屬性為private等。

繼續閱讀