SrpingBoot啓動類不添加@ComponentScan也能自動掃描

自己在學習SpringCloud時,遇到了上述疑問。學習視頻上沒有加@ComponentScan也能自動掃描註解,但公司同事加了@ComponentScan註解,問題:爲什麼SrpingBoot啓動類不添加@ComponentScan也能自動掃描?

參考大佬博客——SpringBoot使用 SpringCloud Fegin 後無法自動掃描接口定義和接口實現

 

把 JAVA 接口定義和接口實現放到主類所在包,或主類所在包的子包。就可以自動掃描到接口定義和接口實現了(而且是不需要在主類中加@ComponentScan(basePackages = {})註解 )。

在 controller 類中要加 @RestController 或 @Controller , service 接口中添加 @Component,service 實現類中添加 @Service 不然是不會把它們當 Bean 初始化的。

注意: Dao 接口加 @Component  或 @Repository 都不會把 dao 當 bean 初始化。只有在應用主類中添加  @MapperScan("com.winterchen.dao") 註解纔會初始化dao 作爲 bean 初始化,com.winterchen.dao 是 dao 接口所在的包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章