bean的生命週期

2021-09-02 13:12:45 字數 736 閱讀 2248

我們普通bean的生命週期可能只是new出來就直接用了,不用的時候gc自動**,而spring的生命週期比我們普通new的物件生命週期更為複雜細膩

1 spring對bean進行例項化,相當於我們new乙個物件

2 依賴注入我們bean中屬性 構造器注入 set注入,需注意對比依賴注入和init執行先後順序

3 如果bean實現了beannameaware介面,spring將bean的id傳遞給setbeanname()方法

4 如果bean實現了beanfactoryaware介面,spring將bean呼叫setbeanfactory方法,將beanfactory set進去

6 如果bean實現了beanpostprocessor介面,spring將呼叫他們的postprocessorbeforeinitization方法

7 如果bean實現了initializingbean介面,如果bean中申明了init-method初始化方法,該方法將被呼叫

8 如果bean實現了beanpostprocessor介面,spring將呼叫他們的postprocessorafterinitization方法

9 此時bean已經準備就緒了,可以**用程式使用,它將一直停留在spring上下文中,直到容器銷毀(spring 預設的是單例模式,非現成安全)

10 如果bean實現了disposablebean介面,spring將呼叫它的distroy方法,如果bean申明了destroy-method,該方法也會被呼叫

Bean生命週期

初始化 1 實現org.springframework.beans.factory.initializingbean介面,覆蓋afterpropertiesset方法。public class exampleinitializingbean implements initializingbean 2...

bean生命週期

spring中的ioc容器可以管理bean生命週期,預設情況下,ioc容器初始化時便會把bean例項化。通過以下例項過程來體會bean的生命週期 1.student類 package text public class student public student public void setna...

Bean生命週期?

前言 生命週期 從物件的建立,到物件銷毀的過程。一 bean的生命週期 7步操作 1.建立。通過無參構造方法,建立bean的例項 2.設定物件屬性,和對其他bean的引用。3.檢查有沒有bean的後置處理器,有就把bean的例項傳給postprocessbeforeinitialization 方法...