sping bean 生命週期

2021-08-07 05:01:18 字數 1086 閱讀 8703

問到spring中bean的生命週期,起始也就是考察一下對spring是否熟悉,工作中很少用到其中的內容,在這裡簡單整理了下。ps:可以借鑑servlet的生命週期,例項化、初始init、接收請求service、銷毀destroy;

spring上下文中的bean也類似,【spring上下文的生命週期】

例項化乙個bean,也就是我們通常說的new

按照spring上下文對例項化的bean進行配置,也就是ioc注入

如果這個bean實現了beannameaware介面,會呼叫它實現的setbeanname(string beanid)方法,此處傳遞的是spring配置檔案中bean的id

如果這個bean實現了beanfactoryaware介面,會呼叫它實現的setbeanfactory(),傳遞的是spring工廠本身(可以用這個方法獲取到其他bean)

如果這個bean關聯了beanpostprocessor介面,將會呼叫postprocessbeforeinitialization(object obj, string s)方法,beanpostprocessor經常被用作是bean內容的更改,並且由於這個是在bean初始化結束時呼叫after方法,也可用於記憶體或快取技術

如果這個bean在spring配置檔案中配置了init-method屬性會自動呼叫其配置的初始化方法

如果這個bean關聯了beanpostprocessor介面,將會呼叫postafterinitialization(object obj, string s)方法

當bean不再需要時,會經過清理階段,如果bean實現了disposablebean介面,會呼叫其實現的destroy方法

最後,如果這個bean的spring配置中配置了destroy-method屬性,會自動呼叫其配置的銷毀方法

以上10步驟可以作為面試或者筆試的模板,另外我們這裡描述的是應用spring上下文bean的生命週期,如果應用spring的工廠也就是beanfactory的話去掉第5步就ok了

————————————————————————————-華麗的分界線——————————————————————————————

下面以beanfactory為例,說明乙個bean的生命週期活動

React 生命週期 生命週期方法

生命週期 掛載 更新 解除安裝 元件被建立 執行初始化 並被掛載到dom中,完成元件的第一次渲染 constructor props getderivedstatefromprops props,state render componentdidmount 元件被建立時會首先呼叫元件的構造方法,接受...

actived生命週期 Vuejs 生命週期

每個 vue 例項在被建立時都要經過一系列的初始化過程。如需要設定資料監聽 編譯模板 將例項掛載到 dom 並在資料變化時更新 dom 等。同時在這個過程中也會執行一些叫做生命週期鉤子的函式,這給了使用者在不同階段新增自己的 的機會。乙個 vue 例項 我們建立乙個 vue 例項,並在每個階段驗證 ...

生命週期篇 一 Activity生命週期理解

乙個activity 通俗點就叫乙個介面吧 在實際使用中會有幾種狀態 1.正在顯示 處於當前螢幕最頂層 2.尚且可見,但不可用 在其他介面下面,但未被完全覆蓋 3.完全不可見 被其他介面完全覆蓋,最常見的就是切換到桌面 以上是實際使用android手機的時候最直觀的介面狀態,那麼接下來我們來 一下,...