最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

史上最完整的Spring啟動(dòng)流程

2023-03-29 14:02 作者:仲夏七月夢(mèng)  | 我要投稿
  • 首先啟動(dòng)類使用了@SpringBootApplication注解,這個(gè)復(fù)合注解包括了@EnableAutoConfiguration 、@SpringBootConfiguration和@ComponentScan三個(gè)注解,@SpringBootConfiguration是標(biāo)注當(dāng)前類是一個(gè)配置類并注入到IOC容器中,而@ComponentScan是掃描指定路徑下帶有特定注解的類到IOC容器中。最為重要的是@EnableAutoConfiguration,它能通過ImportSelector選擇器將所有帶有@Configuration自動(dòng)導(dǎo)入到容器里。
  • 注解完成后,通過運(yùn)行SpringApplication的run方法完成服務(wù)構(gòu)建、環(huán)境準(zhǔn)備、容器創(chuàng)建、填充容器四項(xiàng)工作。
  • 服務(wù)構(gòu)建需要在SpringApplication的構(gòu)造器中完成①加載資源加載器、主方法類到內(nèi)存中,②判定web應(yīng)用類型是否存在并默認(rèn)為servlet,③確定web服務(wù)器后就要加載初始化類了,這里是通過META-INFO/spring.factories來讀取啟動(dòng)注冊(cè)初始化器、應(yīng)用上下文初始化器、應(yīng)用監(jiān)聽器三類配置,當(dāng)然,這里也可以對(duì)自定義三類配置,④通過運(yùn)行時(shí)棧判斷main方法所在的類是否為主啟動(dòng)類
  • 調(diào)用run方法進(jìn)入環(huán)境準(zhǔn)備階段,主要是對(duì)容器和組件做一些前置操作。①先創(chuàng)建一個(gè)啟動(dòng)上下文。并逐一調(diào)用剛剛加載的啟動(dòng)注冊(cè)初始化器的一個(gè)初始化方法 ②接下來設(shè)置awt.headLess=true表示缺少顯示器、鍵盤等設(shè)備也可正常啟動(dòng) ③啟動(dòng)運(yùn)行監(jiān)聽器,同時(shí)發(fā)布啟動(dòng)事件,獲取并加載spring.factories中的事件發(fā)布運(yùn)行監(jiān)聽器,并且會(huì)將應(yīng)用監(jiān)聽器也一并引入,以后想要在啟動(dòng)流程過程中加入自定義邏輯就只需要監(jiān)聽這些事件 ④通過prepareEnvironment方法組裝啟動(dòng)參數(shù),根據(jù)不同的web構(gòu)造不同的環(huán)境。構(gòu)造完畢后會(huì)加載環(huán)境變量、jvm系統(tǒng)屬性到屬性集合中,后期無需加載。此時(shí)可設(shè)置啟動(dòng)參數(shù)并添加configuration.properties到屬性集合中。接下來會(huì)發(fā)布環(huán)境準(zhǔn)備完成的事件,一些監(jiān)聽器收到信號(hào)會(huì)做相應(yīng)處理。⑤可做忽略元數(shù)據(jù)加載、打印banner的操作。
  • 環(huán)境準(zhǔn)備好以后,就可以創(chuàng)建容器了。①首先創(chuàng)建注解配置servlet容器,具體行為是創(chuàng)建beanfactory、用來解析一些注解的后置處理器和其他屬性對(duì)象 ③調(diào)用prepareContext方法對(duì)容器中的屬性進(jìn)行初始化
  • 容器創(chuàng)建完畢后,就會(huì)對(duì)容器做初始化操作。這里會(huì)①創(chuàng)建系統(tǒng)自帶的Bean和用戶自定義Bean并裝配到容器里,通過啟動(dòng)tomcat和經(jīng)歷Bean的生命周期就可以使用一個(gè)完整的Bean了 ②發(fā)布啟動(dòng)事件完成的同時(shí),會(huì)回調(diào)自定義Runner接口來處理定制化需求


這十分鐘的視頻,我做筆記可是遠(yuǎn)超10分鐘

史上最完整的Spring啟動(dòng)流程的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东莞市| 新龙县| 绿春县| 泽州县| 济阳县| 黄浦区| 布尔津县| 江津市| 岗巴县| 勐海县| 上虞市| 沛县| 合江县| 乌鲁木齐县| 玛曲县| 遂平县| 姚安县| 库尔勒市| 涟水县| 阿拉尔市| 会昌县| 河南省| 高邑县| 阿拉善左旗| 荆门市| 会宁县| 鹤岗市| 固镇县| 金昌市| 张北县| 炉霍县| 正定县| 上犹县| 大庆市| 称多县| 栖霞市| 柳州市| 武功县| 丽江市| 永寿县| 囊谦县|