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