日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中bean的定义有哪些_详解Java的Spring框架中bean的定义以及生命周期

發布時間:2023/12/15 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中bean的定义有哪些_详解Java的Spring框架中bean的定义以及生命周期 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

bean的定義形成應用程序的骨干是由Spring IoC容器所管理的對象稱為bean。bean被實例化,組裝,并通過Spring IoC容器所管理的對象。這些bean由容器提供,例如,在XML的定義,已經看到了前幾章的形式配置元數據創建。

bean定義包含所需要的容器要知道以下稱為配置元數據的信息:

如何創建一個bean

Bean 生命周期的詳細信息

Bean 依賴關系

上述所有配置元數據轉換成一組的下列屬性構成每個bean的定義。

Spring配置元數據

Spring IoC容器完全由在此配置元數據實際寫入的格式解耦。有下列提供的配置元數據的Spring容器三個重要的方法:

基于XML的配置文件

基于注解的配置

基于Java的配置

我們已經看到了基于XML的配置元數據如何提供給容器,但讓我們看到了不同的bean定義,包括延遲初始化,初始化方法和銷毀方法基于XML配置文件的另一個示例:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

bean的生命周期Spring bean的生命周期是很容易理解。當一個bean實例化時,它可能需要執行一些初始化把它轉換成可用狀態。類似地,當bean不再需要,并且從容器中取出,一些清理的工作可能也需要做。

不過,還有把bean背后的實例化和銷毀時間之間的場景發生的活動,但是本章將只討論其中兩個是需要在bean的初始化和銷毀的時候,重要bean的生命周期回調方法。

要定義安裝和拆卸一個bean,我們只是聲明了初始化方法和/或銷毀,方法的參數。在init-method屬性指定一個方法,是被調用bean后立即實例化。同樣,銷毀方法規定了被調用當bean被從容器中取出之前的方法。

初始化回調:

org.springframework.beans.factory.InitializingBean 接口指定一個單一的方法:

void afterPropertiesSet() throws Exception;

因此,可以簡單地實現上述接口和初始化工作可以在里面afterPropertiesSet() 方法,如下所示:

public class ExampleBean implements InitializingBean {

public void afterPropertiesSet() {

// do some initialization work

}

}

在基于XML的配置元數據的情況下,可以使用init-method 屬性來指定具有void無參數簽名的方法的名稱。例如:

class="examples.ExampleBean" init-method="init"/>

下面是類的定義:

public class ExampleBean {

public void init() {

// do some initialization work

}

}

銷毀回調

org.springframework.beans.factory.DisposableBean接口指定一個單一的方法:

void destroy() throws Exception;

因此,你可以簡單地實現上述接口和定稿工作可以做里面的destroy() 方法,如下所示:

public class ExampleBean implements DisposableBean {

public void destroy() {

// do some destruction work

}

}

在基于XML的配置元數據的情況下,您可以使用destroy-method屬性來指定具有void無參數簽名的方法的名稱。例如:

class="examples.ExampleBean" destroy-method="destroy"/>

下面是類的定義:

public class ExampleBean {

public void destroy() {

// do some destruction work

}

}

如果您在非web應用環境中使用Spring的IoC容器,例如在桌面富客戶端環境; 注冊關閉鉤子在JVM中。這樣做可以確保正常關機,并讓所有的資源都被釋放調用singleton bean上的相關destroy方法。

建議不要使用的InitializingBean或者DisposableBean的回調,因為XML配置提供極大的靈活性在命名你的方法方面。

例如:

使用Eclipse IDE,然后按照下面的步驟來創建一個Spring應用程序:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java中bean的定义有哪些_详解Java的Spring框架中bean的定义以及生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。