Spring框架 SpringBean的生命週期

2021-10-10 14:45:22 字數 1296 閱讀 6965

springbean的生命週期

bean 生命週期的整個執行過程描述如下:

(1) 根據配置情況呼叫 bean 構造方法或工廠方法例項化 bean。

(2) 利用依賴注入完成 bean 中所有屬性值的配置注入。

(3) 如果 bean 實現了 beannameaware 介面,則 spring 呼叫 bean 的 setbeanname() 方法傳入當前 bean 的 id 值。

(4) 如果 bean 實現了 beanfactoryaware 介面,則 spring 呼叫 setbeanfactory() 方法傳入當前工廠例項的引用。

(6) 如果 beanpostprocessor 和 bean 關聯,則 spring 將呼叫該介面的預初始化方法 postprocessbeforeinitialzation() 對 bean 進行加工操作,此處非常重要,spring 的 aop 就是利用它實現的。

(7) 如果 bean 實現了 initializingbean 介面,則 spring 將呼叫 afterpropertiesset() 方法。初始化 bean的時候執行,可以針對某個具體的bean進行配置。afterpropertiesset 必須實現 initializingbean介面。實現 initializingbean介面必須實現afterpropertiesset方法。

(8) 如果在配置檔案中通過 init-method 屬性指定了初始化方法,則呼叫該初始化方法。

(9) 如果 beanpostprocessor 和 bean 關聯,則 spring 將呼叫該介面的初始化方法 postprocessafterinitialization()。此時,bean 已經可以被應用系統使用了。

(10) 如果在 中指定了該 bean 的作用範圍為 scope=「singleton」,則將該 bean 放入 spring ioc 的快取池中,將觸發 spring 對該 bean 的生命週期管理;如果在 中指定了該 bean 的作用範圍為 scope=「prototype」,則將該 bean 交給呼叫者,呼叫者管理該 bean 的生命週期,spring 不再管理該 bean。

(11) 如果 bean 實現了 disposablebean 介面,則 spring 會呼叫 destory() 方法將 spring 中的 bean 銷毀;如果在配置檔案中通過 destory-method 屬性指定了 bean 的銷毀方法,則 spring 將呼叫該方法對 bean 進行銷毀。

使用springMvc模擬springboot

springmvc 1,新增jar依賴 2,非web環境,程式的入口在main方法入口,而main函式的入口在listener中。初始化順序是listener先於filter先於servlet。因此要新增乙個listner。這裡就有疑問了,難道時至今日,我們還要去在web.xml中去新增listen...

Spring框架學習

技術人員每到乙個階段就會遇到乙個天花板,這表明你在這個階段已經積累足夠,需要突破了,如果技術人員發現自己從來沒有天花板,這說明你從來不懂的去反思去沉澱,去優化你的知識儲備。因為不同階段的技術儲備,在眾多職業道路上,可能造就一種從基本研發人員到職業架構師的轉變的職業道路,這可以說是從技術演變上的職業發...

Spring框架總結

1.spring框架是乙個容器框架 用於配置bean檔案和維護他們之間的關係 2.spring的核心 ioc aop ioc ioc inverse of controll 控制反轉 所謂控制反轉就是把建立物件 bean 和維護物件 bean 的關係的權利從程式中轉移到 spring 的容器而程式本...