sping物件的生命週期

2021-10-03 07:52:13 字數 1151 閱讀 5651

首先,我們在乙個類中寫下與生命週期相關的多種元素

package com.jd.vo;

public class userinfo

private string name;

public string getname()

public void setname(string name)

public userinfo()

public void init()

public void destroy()

}

並建立test類來測試其輸出

package com.jd.test;

public class test

}

配置xml檔案 

<?xml version="1.0" encoding="utf-8"?>

執行main方法,輸出為

可以看到spring物件的生命週期為靜態**塊->動態**塊->構造方法->set方法,我們注意到,由於init和destroy的值均為預設,導致init方法和destroy方法未能輸出。

修改xml檔案如下所示

<?xml version="1.0" encoding="utf-8"?>

輸出為

我們發現,init方法在setter之後輸出了,但destroy方法仍未輸出,這是由於scope的值設定為了prototype,如果我們改為singlton,輸出則變為

並且如果我們在main方法中沒有呼叫close方法銷毀ioc容器,那麼destroy方法也不會輸出。

綜上,spring物件的生命週期為靜態**塊->動態**塊->構造方法->setter方法->getter方法->init->destroy

Sping框架中Bean的生命週期

bean生命週期 spring框架中bean的生命週期是乙個很重要的知識點,更是乙個面試過程中的高頻問點。詳解 1 例項化乙個bean,也就是我們常說的new.2 按照spring上下文對例項化的bean進行屬性配置 也就是ioc注入 3 如果這個bean已經實現了beannameaware介面,會...

物件的生命週期

全域性物件的引用 雖然在c 不允許,但是cil的確允許分配全域性物件 靜態物件 靜態欄位的引用 應用程式的 庫的區域性物件的引用 傳遞進乙個方法的物件引數的引用 等待被終結的物件的引用 任何引用物件的cpu暫存器 要尋找不可達的物件,如果clr逐個檢查託管堆的沒乙個物件,很明顯,效率很低。每個物件都...

java 物件的生命週期

物件的生命週期 1 區域性變數只會存活在該變數的方法中 life 只能在該方法內部使用 scope public void test 2 例項變數的壽命與物件相同。如果物件還活著,例項變數也是會活的 有三種方法可以釋放物件的引用 1 引用永久性的離開他的範圍 public void test a 會...