關(guān)于Spring啟動(dòng)流程及Bean生命周期梳理
Spring啟動(dòng)流程及Bean生命周期梳理
Spring的啟動(dòng)本身就伴隨著B(niǎo)ean的生命周期的開(kāi)始,為了搞清楚Spring啟動(dòng)的每一步都干了什么,并且這一步對(duì)Bean的加載進(jìn)行了什么操作,我畫(huà)了下面圖進(jìn)行了一一對(duì)應(yīng),并把關(guān)鍵類和接口的繼承圖列了出來(lái)。
左邊流程為refresh方法,即Spring啟動(dòng)必經(jīng)的主要方法,每個(gè)節(jié)點(diǎn)為該方法的一個(gè)內(nèi)部方法,方法旁均有標(biāo)注,若有二三級(jí)節(jié)點(diǎn)為重要方法拆分,橘色部分為Bean創(chuàng)建的重要步驟。
右邊流程為Spring Bean生命周期,也出現(xiàn)在很多大家對(duì)Bean壽命周期解釋的博客里,每個(gè)節(jié)點(diǎn)為生命周期的執(zhí)行節(jié)點(diǎn),橘色部分為Bean銷毀時(shí)執(zhí)行。
中間連線為refresh方法中每個(gè)方法所對(duì)應(yīng)執(zhí)行Bean的生命周期
關(guān)鍵類和接口繼承圖
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
實(shí)例講解Java設(shè)計(jì)模式編程中如何運(yùn)用代理模式
這篇文章主要介紹了Java設(shè)計(jì)模式編程中如何運(yùn)用代理模式,文中舉了普通代理和強(qiáng)制代理的例子作為代理模式的擴(kuò)展內(nèi)容,需要的朋友可以參考下2016-02-02Spring MVC入門(mén)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Spring MVC入門(mén),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08Spring Boot優(yōu)雅地處理404異常問(wèn)題
這篇文章主要介紹了Spring Boot優(yōu)雅地處理404異常問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Java程序初始化啟動(dòng)自動(dòng)執(zhí)行的三種方式
這篇文章主要介紹了Java程序初始化啟動(dòng)自動(dòng)執(zhí)行的三種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01關(guān)于SpringCloud灰度發(fā)布的實(shí)現(xiàn)
這篇文章主要介紹了關(guān)于SpringCloud灰度發(fā)布的實(shí)現(xiàn),灰度發(fā)布又稱金絲雀發(fā)布,是在系統(tǒng)升級(jí)的時(shí)候能夠平滑過(guò)渡的一種發(fā)布方式,灰度發(fā)布可以保證整體系統(tǒng)的穩(wěn)定,在初始灰度的時(shí)候就可以發(fā)現(xiàn)、調(diào)整問(wèn)題,以保證其影響度,需要的朋友可以參考下2023-08-08解決IDEA錯(cuò)誤 Cause: java.sql.SQLException: The server time zone
這篇文章主要介紹了解決IDEA錯(cuò)誤 Cause: java.sql.SQLException: The server time zone value的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08javascript與jsp發(fā)送請(qǐng)求到servlet的幾種方式實(shí)例
本文分別給出了javascript發(fā)送請(qǐng)求到servlet的5種方式實(shí)例與 jsp發(fā)送請(qǐng)求到servlet的6種方式實(shí)例2018-03-03