請介紹一下Spring框架中Bean的生命週期

2021-06-05 13:49:00 字數 1547 閱讀 2756

一、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方法。

介紹一下索引

根據資料庫的功能,可以在 資料庫設計器中建立四種索引 普通索引 唯一索引 主鍵索引和 聚集索引。有關資料庫所支援的索引功能的詳細資訊,請參見資料庫文件。普通索引 這是最基本的索引型別,而且它沒有唯一性之類的限制。普通索引可以通過以下幾種方式建立 建立索引,例如create index 索引的名字 o...

介紹一下Spring Cloud Config

spring cloud config為分布式系統中的外部配置提供伺服器和客戶端支援。使用config server,您可以在所有環境中管理應用程式的外部屬性。客戶端和伺服器上的概念對映與springenvironment和propertysource抽象相同,因此它們與spring應用程式非常契合...

介紹一下Token?

token在安全中應用廣泛,如防止表單提交,防止有人偽造客戶端請求。在實際的開發中,我們已經不需要在寫token,可以直接使用已經封裝好的類就可以了。但是,我們需要了解這其中的原理,那我就簡單的聊一下這方面。什麼是token?token可以理解為令牌,伺服器通過驗證token,來判斷你是否有操作的許...