最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于@SpringBootApplication詳解

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

一、@SpringBootApplication注解介紹

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

這個(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è)注解是開啟自動(dòng)配置的功能,里面包含了兩個(gè)注解

  • @AutoConfigurationPackage
  • @Import(AutoConfigurationImportSelector.class)

4.1 @AutoConfigurationPackage

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

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

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è)方法里,它會(huì)查找所有在META-INF路徑下的spring.factories文件,從META-INF/spring.factories文件中找到所有的對應(yīng)配置類,然后將這些自動(dò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è)場景的所有自動(dòng)配置啟動(dòng)的時(shí)候默認(rèn)全部加載,但是xxxxAutoConfiguration按照條件裝配規(guī)則(@Conditional),最終會(huì)按需配置。

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)文章

  • SpringSecurity導(dǎo)致Redis壓力大問題的解決方案

    SpringSecurity導(dǎo)致Redis壓力大問題的解決方案

    在我們現(xiàn)有的系統(tǒng)中,用于登錄的?Redis?服務(wù)器?CPU?占用率長期處于?90%?的高位,這一狀況帶來了極大的風(fēng)險(xiǎn)隱患,因此,本文旨在解決這個(gè)問題,下面小編給大家詳細(xì)介紹SpringSecurity導(dǎo)致Redis壓力大問題的解決方案,需要的朋友可以參考下
    2025-06-06
  • SpringBoot實(shí)現(xiàn)RabbitMQ監(jiān)聽消息的四種方式

    SpringBoot實(shí)現(xiàn)RabbitMQ監(jiān)聽消息的四種方式

    本文主要介紹了SpringBoot實(shí)現(xiàn)RabbitMQ監(jiān)聽消息的四種方式,包括@RabbitListener,MessageListener接口,MessageListenerAdapter適配器,@RabbitHandler這幾種,感興趣的可以了解一下
    2024-05-05
  • SpringBoot模板引擎之Thymeleaf的使用

    SpringBoot模板引擎之Thymeleaf的使用

    這篇文章主要介紹了SpringBoot模板引擎之Thymeleaf的使用,模板引擎是以業(yè)務(wù)邏輯層和表現(xiàn)層分離為目的的,將規(guī)定格式的模板代碼轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù)的算法實(shí)現(xiàn),它可以是一個(gè)過程代碼、一個(gè)類,甚至是一個(gè)類庫,需要的朋友可以參考下
    2023-10-10
  • Java獲取IP地址及對應(yīng)的歸屬地的方法詳解

    Java獲取IP地址及對應(yīng)的歸屬地的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Java獲取IP地址及對應(yīng)的歸屬地,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • 求1000階乘的結(jié)果末尾有多少個(gè)0

    求1000階乘的結(jié)果末尾有多少個(gè)0

    題目是:求1000!的結(jié)果末尾有多少個(gè)0,解題思路:兩個(gè)素?cái)?shù)2、5,相乘即可得到10,我們可以認(rèn)為,有多少組2、5,結(jié)尾就有多少個(gè)0,下面是代碼,需要的朋友可以參考下
    2014-02-02
  • 淺析Java內(nèi)存模型與垃圾回收

    淺析Java內(nèi)存模型與垃圾回收

    下面小編就為大家?guī)硪黄獪\析Java內(nèi)存模型與垃圾回收。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦
    2016-05-05
  • Spring?Cloud詳細(xì)講解zuul集成Eureka流程

    Spring?Cloud詳細(xì)講解zuul集成Eureka流程

    這篇文章主要介紹了Spring?Cloud?zuul集成Eureka,Eureka?Client中內(nèi)置一個(gè)負(fù)載均衡器,用來進(jìn)行基本的負(fù)載均衡,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Java實(shí)現(xiàn)基于清除后分配規(guī)則的垃圾回收器詳解

    Java實(shí)現(xiàn)基于清除后分配規(guī)則的垃圾回收器詳解

    垃圾回收是 Java 語言的一項(xiàng)重要特性,自動(dòng)管理對象內(nèi)存,防止內(nèi)存泄漏和野指針問題,下面我們就來看看如何利用Java實(shí)現(xiàn)基于清除后分配規(guī)則的垃圾回收器吧
    2025-03-03
  • Java實(shí)現(xiàn)的獲取和判斷文件頭信息工具類用法示例

    Java實(shí)現(xiàn)的獲取和判斷文件頭信息工具類用法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的獲取和判斷文件頭信息工具類,結(jié)合實(shí)例形式分析了Java針對文件讀取及頭信息判斷相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • Java的函數(shù)式編程詳解

    Java的函數(shù)式編程詳解

    用了這么久的Java8,我尋思這種話也好意思說出來嗎,難道自己是PythonBoy出身就是看不懂Java的理由嗎,身為一個(gè)合格的后端Boy不會(huì)還有人看不明白Java的函數(shù)式編程吧,接下來小編和大家淺聊一下Java的函數(shù)式編程,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

梁平县| 于田县| 德昌县| 东城区| 黄浦区| 安庆市| 阳朔县| 乾安县| 乐山市| 南江县| 武隆县| 上蔡县| 红安县| 新民市| 黑河市| 松溪县| 通辽市| 大余县| 武陟县| 田阳县| 桐庐县| 孝昌县| 南昌市| 宁河县| 台东县| 神木县| 兖州市| 房产| 合水县| 泾阳县| 巢湖市| 城固县| 石城县| 永靖县| 秭归县| 扎鲁特旗| 呼伦贝尔市| 南召县| 朔州市| 江口县| 漳平市|