Java面試之Spring的bean的生命週期

2021-06-29 15:40:49 字數 1588 閱讀 2073

一、bean的定義

spring通常通過配置檔案定義bean。如:

xmlns:xsi=」

xsi:schemalocation=」 /spring-beans-2.0.xsd」>

helloworld 

這個配置檔案就定義了乙個標識為 helloworld 的bean。在乙個配置文件中可以定義多個bean。

二、bean的初始化

有兩種方式初始化bean。

1、在配置文件中通過指定init-method 屬性來完成

在bean的類中實現乙個初始化bean屬性的方法,如init(),如:

public class helloworld……}

然後,在配置檔案中設定init-mothod屬性:

2、實現 org.springframwork.beans.factory.initializingbean介面

bean實現initializingbean介面,並且增加 afterpropertiesset() 方法:

public class helloworld implement initializingbean ……}

那麼,當這個bean的所有屬性被spring的beanfactory設定完後,會自動呼叫afterpropertiesset()方法對bean進行初始化,於是,配置檔案就不用指定 init-method屬性了。

三、bean的呼叫

有三種方式可以得到bean並進行呼叫:

helloworld hw=new helloworld();

bw.setpropertyvalue(」msg」,」helloworld」);

system.out.println(bw.getpropertycalue(」msg」));

2、使用beanfactory

inputstream is=new fileinputstream(」config.xml」);

xmlbeanfactory factory=new xmlbeanfactory(is);

helloworld hw=(helloworld) factory.getbean(」helloworld」);

system.out.println(hw.getmsg());

helloworld hw=(helloworld) actx.getbean(」helloworld」);

system.out.println(hw.getmsg());

四、bean的銷毀

1、使用配置檔案中的 destory-method 屬性

與初始化屬性 init-methods類似,在bean的類中實現乙個撤銷bean的方法,然後在配置檔案中通過 destory-method指定,那麼當bean銷毀時,spring將自動呼叫指定的銷毀方法。

2、實現 org.springframwork.bean.factory.disposeblebean介面

如果實現了disposeblebean介面,那麼spring將自動呼叫bean中的destory方法進行銷毀,所以,bean中必須提供destory方法。

java面試 框架篇之Spring

1.你如何理解spring?iod 控制反轉,將物件的建立過程交給容器,讓容器管理物件的生命週期如建立,初始化,銷毀等。aop 面向切面程式設計,對關注點進行模組化,通過對某一功能點進行程式設計,比如記錄日誌,有很多個類都需要記錄日誌的方法,則建立記錄日誌的 方法,需要呼叫該功能是只需要呼叫 方法,...

面試指南之 Spring

本場 chat 主要是講面試過程中遇到的一些 spring 相關的面試題。這些面試題多數是相對較巨集觀層面的 spring 只是,不會涉及到啥時候用啥註解或者說具體某個配置如何設定之類的問題。雖然面試過程中 spring 相關的面試題可能不多,這裡還是準備了些。都是之前面試被問到過的比較好的問題。下...

java面試之spring兩大核心 mybatis

ioc,叫控制反轉是spring的乙個容器,就是將操作物件的控制權,交給spring容器管理,讓我們寫出松耦合的程式,也稱為di 依賴注入 是將應用系統中的各個類的依賴關係先剝離出來,然後在系統執行中根據應用程式之間的呼叫關係再適時的注入到系統中 1 setter注入 2 構造器注入 3 註解注入 ...