一、SpringBoot默認包掃描機制 - 示例
默認情況下,掃描啟動類同級及其子級包下的所有文件。我們可以通過以下的測試來驗證一下。
1. 當BannerController放在啟動類的,程序運行成功
2. 當BannerController移動到上一級目錄,不在啟動類的包及其子包下,程序運行失敗
二、SpringBoot默認掃描包機制 - 原理
實際上SpringBoot啟動類上面的@SpringBootApplication
里面有一個@ComponentScan
,它可以掃描啟動類同級及其子級包下的所有文件,并且把帶有@Component
、@Repository
、@Service
、@Controller
的類注冊到Spring容器。
三、SpringBoot手動掃描包機制 - 原理&示例
正如上述所說的,SpringBoot默認掃描包機制是因為已經(jīng)在@ComponentScan
指定掃描啟動類同級及其子級包下的所有文件,當我要被掃描的文件不在啟動類同級及其子級包下,那么我們可以通過在啟動類頭上加上@ComponentScan()來指定我們要掃描的包。
四、@ComponentScan與@MapperScan
@Component
、@Repository
、@Service
、@Controller
、@ComponentScan
是Spring注解
所以@ComponentScan只能掃描@Component、@Repository、@Service、@Controller
@Mapper
、@MapperScan
是Mybatis注解
所以@MapperScan只能掃描@Mapper
所以要是在Mapper層要是使用了@Mapper注解,那么SpringBoot的@ComponentScan是掃描不到的,必須在啟動類上面加上@MapperScan掃描。
五、SpringBoot默認配置文件
當我們構(gòu)建完Spring Boot項目后,會在resources目錄下給我們一個默認的全局配置文件 application.properties,這是一個空文件,因為Spring Boot在底層已經(jīng)把配置都給我們自動配置好了,當在配置文件進行配置時,會修改SpringBoot自動配置的默認值。
配置文件名是固定的
application.properties
但我們可以修改為文章來源:http://www.zghlxwxcb.cn/news/detail-411515.html
application.yml
這兩個文件本質(zhì)是一樣的,區(qū)別只是其中的語法略微不同。文章來源地址http://www.zghlxwxcb.cn/news/detail-411515.html
到了這里,關于SpringBoot默認包掃描機制與默認配置文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!