Spring框架學習(4) Spring的自動裝配

2021-07-30 07:48:30 字數 1437 閱讀 2388

使用自動裝配可以讓spring對ioc容器中的bean的引用進行自動裝配。

其中,自動裝配分為兩種,一是通過名字裝配,二是通過型別進行裝配

一、通過名字裝配

使用byname來進行自動裝配,這時候如果ioc容器中存在乙個bean的id與需要裝配的類的setter方法相對應的話,spring就會對其進行自動裝配,如果找不到與setter對應的bean的話,則會置為null

還是之前用的person類和address類:

package beans;

public class address

public void setcity(string city)

public string getstreet()

public void setstreet(string street)

@override

public string tostring()

}

package beans;

public class person

public string getname()

public void setname(string name)

public address getaddress()

public void setaddress(address address)

}

然後是spring的配置檔案:

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

這裡我們可以很明顯的看到在address的例項化物件中,id=「address」,在person的類中setter方法為setaddress(),這樣稱為是對應的,因此使用autowire=「byname」方法時可以自動使用第乙個bean為person賦值。當我們把address的id改為address1時,自動裝配就不會將第乙個bean為person賦值,因為它們不對應了,此時,需要把person的setter方法改為setaddress1()即可使自動裝配再次生效

最後寫個main方法測試一下:

package beans;

public class main

}

二、通過型別進行裝配

使用bytype來進行自動裝配,這時候如果ioc容器中存在乙個bean的類與需要裝配的類的setter方法引數型別相對應的話,spring就會對其進行自動裝配,如果找不到與setter對應的bean的話,則會置為null,如果存在多個對應的bean的話,會報錯,因為spring不知道應該裝配哪個

person類和address類都不變,只需要在上面的基礎上將autowire=「byname」改為「bytype」即可,此處便不再累贅

Spring框架學習 (4)SpringMVC初學

記錄學習經歷 聽過spring springmvc springboot,它們到底是什麼關係?springboot就是乙個大框架,裡面包含了許許多多的東西,其中spring就是最核心的內容之一,spring mvc 只是spring 處理web表現層請求的乙個模組 spring 最初利用 工廠模式 ...

Spring框架學習

技術人員每到乙個階段就會遇到乙個天花板,這表明你在這個階段已經積累足夠,需要突破了,如果技術人員發現自己從來沒有天花板,這說明你從來不懂的去反思去沉澱,去優化你的知識儲備。因為不同階段的技術儲備,在眾多職業道路上,可能造就一種從基本研發人員到職業架構師的轉變的職業道路,這可以說是從技術演變上的職業發...

Spring框架學習筆記

spring框架 一 spring框架概述 1 spring框架提供了乙個開發平台,用於整合其他技術,例如struts,hibernate,mybatis等。舉個例子spring就像是一台電腦的主機板,為各種硬體設施提供了介面,cpu,記憶體,硬碟都有各自的介面。這樣做的好處也是顯而易見的,比如在改...