IOC操作Bean管理2

2022-09-14 08:21:12 字數 2606 閱讀 9820

------------恢復內容開始------------

spring有兩種型別的bean,一種普通型別的bean另外一種工廠bean(factory bean)

二者的區別在於這句

,普通xm中bean在class裡定義什麼(book型別)型別的bean,則在

測試引用得到時(book)時就用什麼型別的bean

book book=contest.getbean("book",book.class);

工廠bean,定義型別和返回型別可以不一致

工廠bean方法:第一步建立類,讓這個類作為工廠bean,實現介面factorybean

第二步:實現介面的方法,在實現方法中定義返回的bean型別

bean的作用域的描述

在spring裡,可以設定建立的bean例項時,是單例項還是多例項

在spring裡,在預設情況下,建立的bean是單例項

如何設定多例項?

在建立物件的bean標籤裡有屬性設定用於設定單例項和多例項(scope=「(預設值singleton、多例項prototype)、request、session」)!!!!

singleton與prototype區別:singleton是單例項、prototype是多例項

scope值是singleton載入配置檔案時就會建立單例項物件

public class orders 

public string getoname()

public void setoname(string oname)

//在類中建立執行的初始化方法

public void initmethod()

//在類中建立執行的銷毀方法

public void destroymethod()

}

在xml檔案的配置

測試

bean的後置處理器的使用說明:

後置處理器是在bean生命週期裡有多加兩步:加在第三步前後

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

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

(2.1)把bean的例項傳遞個bean後置處理器的乙個方法執行

postprocessbeforeinitialization

(3)呼叫bean的初始化方法(需要進行初始化的方法配置在xml檔案建立物件時後面加init-method="")

(3.1)

把bean的例項傳遞個bean後置處理器的乙個方法postprocessafterinitialization

(4)獲取bean,獲取物件

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

演示新增後置處理器效果:

(1)建立類,並且實現介面beanpostprocessor

(2)配置兩個方法

(3)在xml配置檔案中配置後置處理器(在當前xml檔案配置的後置處理器,會應用到這個檔案建立的所有bean中,也就是說每個bean都會執行這個後置處理器的兩個方法)

基於xml方式自動裝配的知識點(ioc操作bean管理)

什麼是自動裝配:在之前xml中都是手動用來設定值

而現在自動裝配是根據指定裝配規則(根據屬性名稱或者型別),spring自動將匹配的屬性值進行注入

演示自動裝配:bean標籤屬性autowire,autowire屬性有兩個值(bytype、byname)

byname根據屬性名注入(注入值bean的id值和類屬性名稱一致)、bytype根據屬性型別注入

基於xml方式引入外部屬性檔案(可以用於連線資料庫時,引入一些固定值的)

配置資料庫資訊方式

IOC 操作 Bean 管理 基於註解方式

1 註解是 特殊標記,格式 註解名稱 屬性名稱 屬性值,屬性名稱 屬性值 2 使用註解,註解作用在類上面,方法上面,屬性上面 3 使用註解目的 簡化 xml 配置 1 component 用在bean層 2 service 用在service層 3 controller 用在dao層 4 repos...

IOC操作Bean管理(基於註解方式)

1.什麼是註解 註解是 的特殊標記,格式 註解名稱 屬性名稱 屬性值,屬性名稱 屬性值。使用註解,註解作用在類上面,方法宣告,屬性上面 使用註解的目的 簡化xml配置,使用更優雅 更簡潔的方式實現功能 2.spring針對bean管理中建立物件提供的註解 component 建議普通的元件 serv...

IoC控制反轉 管理Bean

一 ioc 概述 ioc 控制反 inverse of control 是spring 容器的核心,與di 依賴注入 dependency injection 是同乙個意思。從注入方法上看,主要可以劃分為三種型別 建構函式注入 屬性注入和介面注入。spring 支援建構函式注入和屬性注入。建構函式注...