spring學習筆記 七 bean生命週期

2021-10-13 18:33:38 字數 2127 閱讀 1013

1、生命週期

(1)從物件建立到物件銷毀的過程

2、bean的生命週期

(1)通過構造器建立bean例項(無引數構造)

(2)為bean的屬性設定值和對其他bean引用(呼叫set方法)

(3)呼叫bean的初始化的方法(需要進行配置)

(4)bean可以使用(物件獲取到了)

(5)當容器關閉的時候,呼叫bean的銷毀的方法(需要進行配置銷毀的方法)

3、示例bean生命週期

專案結構如下:

**如下:

bean1.xml:

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

其中init-method是初始化時執行的方法,destory-method是銷毀時執行的方法

order:

package bean;

public class orders

public void setoname(string oname)

public void initmethod()

public void destorymethod()

}

maintest:

import bean.orders;

import org.junit.test;

public class maintest

}

測試結果如下:

4、bean的後置處理器,加上bean的後置處理器,bean生命週期有七步:

(1)通過構造器建立bean例項(無引數構造)

(2)為bean的屬性設定值和對其他bean引用(呼叫set方法)

(3)把bean例項傳遞bean後置處理器的方法

(4)呼叫bean的初始化的方法(需要進行配置)

(5)把bean例項傳遞bean後置處理器的方法

(6)bean可以使用(物件獲取到了)

(7)當容器關閉的時候,呼叫bean的銷毀的方法(需要進行配置銷毀的方法)

5、新增後置處理器效果示例:

建立類、實現介面beanpostprocessor,建立後置處理器

專案結構如下:

只修改了上面的bean1.xml配置檔案,新增了乙個mybeanpost類

mybeanpost類:

package bean;

import org.springframework.beans.bean***ception;

import org.springframework.beans.factory.config.beanpostprocessor;

import org.springframework.lang.nullable;

public class mybeanpost implements beanpostprocessor

@override

public object postprocessafterinitialization(object bean, string beanname) throws bean***ception

}

bean1.xml配置檔案:

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

測試maintest如下:

import bean.orders;

import org.junit.test;

public class maintest

}

測試效果:

Spring 學習筆記 (三) Bean

配置 例項化 裝配 注入不同資料型別 基於annotation 定義 bean 標註在實現類上 bean 元件裝配 標註在屬性變數,屬性的 setter 方法,構造方法上 載入註解定義的 bean 區別見 difference between contextannotation config and...

Spring 自動裝配bean學習筆記

當實體類屬性需要依賴特別多的其他類時,bean的自動裝配可以幫我們減少xml中許多的配置。package com.huang.pojo public class people public void setcat cat cat public dog getdog public void setdo...

spring學習筆記1 bean管理

序言 學習spring也有幾個月了,對spring的認識還只是一支半解。為了做到在學習和技術上的 更快 更高 更強 決定再戰spring,並把學習的經歷記錄下來,其中的東西都是從各種資料上看到的和自己理解的。我相信im sure.這裡一定會有認識上的錯誤。希望看到的朋友能夠斧正。我們共同進步。並且正...