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.這裡一定會有認識上的錯誤。希望看到的朋友能夠斧正。我們共同進步。並且正...