使用自動裝配可以讓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,記憶體,硬碟都有各自的介面。這樣做的好處也是顯而易見的,比如在改...