SpringBoot默認(rèn)包掃描機(jī)制與默認(rèn)配置文件詳解
一、SpringBoot默認(rèn)包掃描機(jī)制 - 示例
默認(rèn)情況下,掃描啟動類同級及其子級包下的所有文件。我們可以通過以下的測試來驗(yàn)證一下。
1. 當(dāng)BannerController放在啟動類的,程序運(yùn)行成功

2. 當(dāng)BannerController移動到上一級目錄,不在啟動類的包及其子包下,程序運(yùn)行失敗

二、SpringBoot默認(rèn)掃描包機(jī)制 - 原理
實(shí)際上SpringBoot啟動類上面的@SpringBootApplication里面有一個@ComponentScan,它可以掃描啟動類同級及其子級包下的所有文件,并且把帶有@Component、@Repository、@Service、@Controller的類注冊到Spring容器。
三、SpringBoot手動掃描包機(jī)制 - 原理&示例
正如上述所說的,SpringBoot默認(rèn)掃描包機(jī)制是因?yàn)橐呀?jīng)在@ComponentScan指定掃描啟動類同級及其子級包下的所有文件,當(dāng)我要被掃描的文件不在啟動類同級及其子級包下,那么我們可以通過在啟動類頭上加上@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默認(rèn)配置文件
當(dāng)我們構(gòu)建完Spring Boot項(xiàng)目后,會在resources目錄下給我們一個默認(rèn)的全局配置文件 application.properties,這是一個空文件,因?yàn)镾pring Boot在底層已經(jīng)把配置都給我們自動配置好了,當(dāng)在配置文件進(jìn)行配置時(shí),會修改SpringBoot自動配置的默認(rèn)值。
配置文件名是固定的
application.properties
但我們可以修改為
application.yml
這兩個文件本質(zhì)是一樣的,區(qū)別只是其中的語法略微不同。
到此這篇關(guān)于SpringBoot默認(rèn)包掃描機(jī)制與默認(rèn)配置文件詳解的文章就介紹到這了,更多相關(guān)SpringBoot默認(rèn)包掃描與默認(rèn)配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java關(guān)鍵字詳解之final static this super的用法
this用來調(diào)用目前類自身的成員變量,super多用來調(diào)用父類的成員,final多用來定義常量用的,static定義靜態(tài)變量方法用的,靜態(tài)變量方法只能被類本身調(diào)用,下文將詳細(xì)介紹,需要的朋友可以參考下2021-10-10
解析Idea為什么不推薦使用@Autowired進(jìn)行Field注入
這篇文章主要介紹了Idea不推薦使用@Autowired進(jìn)行Field注入的原因,網(wǎng)上文章大部分都是介紹兩者的區(qū)別,沒有提到為什么,當(dāng)時(shí)想了好久想出了可能的原因,今天來總結(jié)一下2022-05-05
Springboot使用ResponseBody漢字返回問號問題
這篇文章主要介紹了Springboot使用ResponseBody漢字返回問號問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
Spring2.5.6開發(fā)環(huán)境搭建圖文教程
這篇文章主要為大家詳細(xì)介紹了Spring2.5.6開發(fā)環(huán)境搭建圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Java實(shí)現(xiàn)JSP在Servelt中連接Oracle數(shù)據(jù)庫的方法
這篇文章主要介紹了Java實(shí)現(xiàn)JSP在Servelt中連接Oracle數(shù)據(jù)庫的方法,需要的朋友可以參考下2014-07-07

