欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于@SpringBootApplication詳解

 更新時(shí)間:2024年08月22日 08:41:35   作者:Maiko Star  
這篇文章主要介紹了關(guān)于@SpringBootApplication的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、@SpringBootApplication注解介紹

@SpringBootApplication這個(gè)注解是springboot啟動類上的一個(gè)注解,是一個(gè)組合注解,也就是由其他注解組合起來,它的主要作用就是標(biāo)記說明這個(gè)類是springboot的主配置類,springboot可以運(yùn)行這個(gè)類里面的main()方法來啟動程序

這個(gè)注解主要由三個(gè)子注解組成:

  • @SpringBootConfiguration
  • @EnableAutoConfiguration
  • @ComponentScan

二、@SpringBootConfiguration介紹

這個(gè)注解包含了@Configuration,@Configuration里面又包含了一個(gè)@Component注解,也就是說,這個(gè)注解標(biāo)注在哪個(gè)類上,就表示當(dāng)前這個(gè)類是一個(gè)配置類,而配置類也是spring容器中的組件

@SpringBootConfiguration注解包含:

@Configuration注解包含:

三、@ComponentScan介紹

包掃描注解:@ComponentScan 的作用就是根據(jù)定義的掃描路徑,把符合掃描規(guī)則的類裝配到spring容器中

四、@EnableAutoConfiguration介紹

這個(gè)注解是開啟自動配置的功能,里面包含了兩個(gè)注解

  • @AutoConfigurationPackage
  • @Import(AutoConfigurationImportSelector.class)

4.1 @AutoConfigurationPackage

它會自動掃描@SpringBootApplication注解所在類所在的包,并將該包及其子包下的所有組件加載到spring的容器中。

這個(gè)注解的作用說白了就是將主配置類(@SpringBootApplication標(biāo)注的類)所在包以及子包里面的所有組件掃描并加載到spring的容器中,這也就是為什么我們在利用springboot進(jìn)行開發(fā)的時(shí)候,無論是Controller還是Service的路徑都是與主配置類同級或者次級的原因

4.2 @Import(AutoConfigurationImportSelector.class)

1.利用getAutoConfigurationEntry(annotationMetadata);給容器中批量導(dǎo)入一些組件

2.調(diào)用List<String> configurations = getCandidateConfigurations(annotationMetadata, attributes)獲取到所有需要導(dǎo)入到容器中的配置類

3.利用工廠加載 Map<String, List<String>> loadSpringFactories(@Nullable ClassLoader classLoader);得到所有的組件

4.關(guān)鍵就在這個(gè)loadSpringFactories()方法里面,在這個(gè)方法里,它會查找所有在META-INF路徑下的spring.factories文件,從META-INF/spring.factories文件中找到所有的對應(yīng)配置類,然后將這些自動配置類加載到spring容器中。

默認(rèn)掃描我們當(dāng)前系統(tǒng)里面所有META-INF/spring.factories位置的文件

spring-boot-autoconfigure-2.3.4.RELEASE.jar包里面也有META-INF/spring.factories

雖然我們127個(gè)場景的所有自動配置啟動的時(shí)候默認(rèn)全部加載,但是xxxxAutoConfiguration按照條件裝配規(guī)則(@Conditional),最終會按需配置。

AopAutoConfiguration類:

@Configuration(
    proxyBeanMethods = false
)
@ConditionalOnProperty(
    prefix = "spring.aop",
    name = "auto",
    havingValue = "true",
    matchIfMissing = true
)
public class AopAutoConfiguration {
    public AopAutoConfiguration() {
    }
	...
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot2種單元測試方法解析

    SpringBoot2種單元測試方法解析

    這篇文章主要介紹了SpringBoot2種單元測試方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • springboot?vue接口測試前后端樹節(jié)點(diǎn)編輯刪除功能

    springboot?vue接口測試前后端樹節(jié)點(diǎn)編輯刪除功能

    這篇文章主要為大家介紹了springboot?vue接口測試前后端樹節(jié)點(diǎn)編輯刪除功能,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 關(guān)于Mybatis中SQL節(jié)點(diǎn)的深入解析

    關(guān)于Mybatis中SQL節(jié)點(diǎn)的深入解析

    這篇文章主要給大家介紹了關(guān)于Mybatis中SQL節(jié)點(diǎn)的深入解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03
  • SpringBoot全局異常處理方案分享

    SpringBoot全局異常處理方案分享

    這篇文章主要介紹了SpringBoot全局異常處理方案分享,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • 使用Java提取字符串里的xml標(biāo)簽

    使用Java提取字符串里的xml標(biāo)簽

    在Java中,我們經(jīng)常需要處理XML數(shù)據(jù),有時(shí)候,我們需要從一個(gè)包含XML標(biāo)簽的字符串中提取出這些標(biāo)簽,本文將介紹如何使用Java代碼來獲取字符串中的XML標(biāo)簽,需要的可以參考下
    2024-12-12
  • Java 梳理總結(jié)關(guān)于static關(guān)鍵字常見問題

    Java 梳理總結(jié)關(guān)于static關(guān)鍵字常見問題

    static關(guān)鍵字基本概念我們可以一句話來概括:方便在沒有創(chuàng)建對象的情況下來進(jìn)行調(diào)用。也就是說:被static關(guān)鍵字修飾的不需要?jiǎng)?chuàng)建對象去調(diào)用,直接根據(jù)類名就可以去訪問,讓我們來了解一下你可能還不知道情況
    2022-04-04
  • Mybatis基于注解實(shí)現(xiàn)多表查詢功能

    Mybatis基于注解實(shí)現(xiàn)多表查詢功能

    這篇文章主要介紹了Mybatis基于注解實(shí)現(xiàn)多表查詢功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • jdbc實(shí)現(xiàn)寵物商店管理系統(tǒng)

    jdbc實(shí)現(xiàn)寵物商店管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了jdbc實(shí)現(xiàn)寵物商店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • java list,set,map,數(shù)組間的相互轉(zhuǎn)換詳解

    java list,set,map,數(shù)組間的相互轉(zhuǎn)換詳解

    這篇文章主要介紹了java list,set,map,數(shù)組間的相互轉(zhuǎn)換詳解的相關(guān)資料,這里附有實(shí)例代碼,具有參考價(jià)值,需要的朋友可以參考下
    2017-01-01
  • Java設(shè)計(jì)模式之狀態(tài)模式詳解

    Java設(shè)計(jì)模式之狀態(tài)模式詳解

    Java?中的狀態(tài)模式(State?Pattern)是一種行為型設(shè)計(jì)模式,它允許對象在內(nèi)部狀態(tài)發(fā)生改變時(shí)改變其行為,本文將詳細(xì)介紹?Java?中的狀態(tài)模式,我們將從狀態(tài)模式的概述、結(jié)構(gòu)與實(shí)現(xiàn)、優(yōu)缺點(diǎn)、適用場景等方面進(jìn)行講解,需要的朋友可以參考下
    2023-05-05

最新評論