springboot之包掃描

springboot之包掃描

先放上一張圖,我們的啓動類DemoApplication是在demo包下面的,所以默認springboot啓動只會掃描HelloController3這個類

因爲默認的掃描路徑是啓動類所在的包及其子包!

那麼,如何掃描默認路徑之外的類呢?

 網上大部分都推薦兩種方式

方式一:

@ComponentScan(value = {"com.example.cool"})

指定包的名字,這時候需要注意了

這樣配置的話,就是隻能掃cool這個包下的 Hello1 和 Hello2 ,原本能訪問的 Hello3也就訪問不了了

可以換成以下方式:

@ComponentScan(value = {"com.example.cool","com.example.demo"})
@ComponentScan(value = {"com.example"})

就是要麼把包設置最上層,要麼就想訪問的都寫進來

方式二:

@ComponentScan(basePackageClasses = HelloController.class)

指定特殊的類,其實作用和方式一樣,HelloController在cool包下,也就是cool包下面的hello1 和 hello2 都能訪問了,但是demo包下的hello3訪問不了

意思就是指定特殊類這種方式,只會掃描特殊類所在的包及其子包

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