Spring自動裝配Bean屬性的四種方式

2021-07-10 23:49:17 字數 1811 閱讀 8396

裝配即是建立應用物件之間協作關係的行為,其實也就是注入依賴的屬性。

例如:

/**

* 描述鞋子的類

*/public

class

boot

/** * 描述人的類

*/public

class

person

public

person(boot boot)

public

void

setboot(boot boot)

}

在這個非常簡單的person類中,擁有乙個屬性boot(鞋子),也就可以說person類依賴於類boot,或者說boot類是person類的依賴。

注入依賴的意思就是說,在定義乙個bean物件(這裡指的是person物件)的時候,需要給指定的屬性賦值(這裡可以指的是boot屬性)。

自動裝配:在定義乙個bean的時候,自動給某一些屬性注入基本資料型別的值或者其他bean的引用。
而自動裝配也即是自動注入依賴是相比於用xml檔案來手動注入的。用xml檔案來手動輸入,也即是用元素< constructor-arg>和< property>來裝配,將會由具體的文章來詳細的描述,這裡不再贅述。

自動裝配有助於減少甚至消除配置元素和,減少xml的配置數量,當然不用寫xml檔案,我們自然要輕鬆地多。

想要使用自動裝配就必須要詳細地了解自動裝配。

自動裝配分成四種:

按照bean的屬性名稱來匹配要裝配的bean

例如:person類中的屬性boot按照此規則則要裝配id為boot的其他bean到boot屬性中,就是新建乙個id為boot的其他bean物件來賦值給person類的boot屬性。

boot boot = new boot();

person person = new person();

person.setboot(boot);//根據屬性的名稱來匹配

按照bean的型別來匹配要裝配的bean

例如:person類的的屬性型別為boot,如果按照bytype來進行自動裝配,則會匹配boot類的bean物件

boot boot2 = new boot();

person person = new person();

person.setboot(boot2);//它根據型別來匹配,不根據名稱來匹配

按照bean的構造器入參的型別來進行匹配

例如:person類有乙個擁有乙個入參的構造器,其入參的型別為boot,所以它會裝配型別為boot的bean。

boot boot2 = new boot();

person person = new person(boot2);//它根據型別來匹配,不根據名稱來匹配

class = "com.wang.autoclass" autowire="bytype" />

即是通過元素的autowire屬性來設定四種自動裝配型別

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

xmlns=""

xmlns:xsi=""

xsi:schemalocation=" /spring-beans-3.0.xsd default-autowire ="

bytype">

如果每乙個bean的自動裝配的方式都相同,則可以設定預設配置,就不需要每乙個bean元素都去配置。

spring 自動裝配bean

在spring中,支援 5 自動裝配模式。public class customer public void setperson person person 要啟用 autowired,必須註冊 autowiredannotationbeanpostprocessor 可以使用在 set方法 構造方...

(Spring)自動裝配bean

自動裝配說明 spring的自動裝配需要從兩個角度來實現,或者說是兩個操作 元件掃瞄和自動裝配組合發揮巨大威力,使得顯示的配置降低到最少。public class cat public class dog public class people public void setcat cat cat ...

Spring自動裝配bean

configuration顯示這是乙個配置類,componentscan無其他配置則預設在該類所在包內開啟元件掃瞄,若有多個包則寫成 componentscan basepackages 若有多個類,則 componentscan basepackagesclasses package sounds...