有五種自動(dòng)裝配的方式,可以用來(lái)指導(dǎo) Spring 容器用自動(dòng)裝配方式來(lái)進(jìn)行依賴注入。
no:默認(rèn)的方式是不進(jìn)行自動(dòng)裝配,通過(guò)顯式設(shè)置 ref 屬性來(lái)進(jìn)行裝配。第 402 頁(yè) 共 485 頁(yè)。
byName:通過(guò)參數(shù)名 自動(dòng)裝配,Spring 容器在配置文件中發(fā)現(xiàn) bean的 autowire 屬性被設(shè)置成 byname,之后容器試圖匹配、裝配和該 bean 的屬性具有相同名字的 bean。
byType:通過(guò)參數(shù)類型自動(dòng)裝配,Spring 容器在配置文件中發(fā)現(xiàn) bean的 autowire 屬性被設(shè)置成 byType,之后容器試圖匹配、裝配和該 bean 的屬性具有相同類型的 bean。如果有多個(gè) bean 符合條件,則拋出錯(cuò)誤。
constructor:這個(gè)方式類似于 byType, 但是要提供給構(gòu)造器參數(shù),如果沒(méi)有確定的帶參數(shù)的構(gòu)造器參數(shù)類型,將會(huì)拋出異常。
autodetect:首先嘗試使用 constructor 來(lái)自動(dòng)裝配,如果無(wú)法工作,則使用 byType 方式。