Spring中Bean的生命週期

2021-08-31 12:07:19 字數 1133 閱讀 4752

一、bean的定義

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

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

helloworld

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

二、bean的初始化

有兩種方式初始化bean。

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

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

public class helloworld

......

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

init-mothod="init" >

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

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

public class helloworld implement initializingbean

......

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

三、bean的呼叫

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

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

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

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

Spring框架中的Bean物件的生命週期

從書上可知,spring框架中bean物件有它的生命週期,還包括bean的銷毀。在beanfacotory中獲取的例項是singleton,beanfactory預設每乙個引用來維護乙個例項,對單執行程式來講,並不會有什麼問題,但是多程式來說,就需要你注意執行的安全,可以設定每次在beanfacot...

Spring中Bean的作用域 狀態 生命週期

spring 3中為bean定義了5中作用域,分別為singleton 單例 prototype 原型 request session和global session,5種作用域說明如下 singleton 單例模式,spring ioc容器中只會存在乙個共享的bean例項,無論有多少個bean引用它...

Spring學習筆記 關於bean的生命週期

springioc容器可以管理bean的生命週期,spring允許在bean宣告週期的特定點執行定製的任務。springioc容器對bean的生命週期進行管理的過程 在bean的宣告裡設定init method和destory method屬性,為bean指定初始化和銷毀的方法。bean後置處理器允...