新聞中心
你已經(jīng)學(xué)會(huì)如何使用元素來(lái)聲明 bean 和通過(guò)使用 XML 配置文件中的和元素來(lái)注入 。

創(chuàng)新互聯(lián)公司專(zhuān)注于象山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。象山網(wǎng)站建設(shè)公司,為象山等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
Spring 容器可以在不使用和 元素的情況下自動(dòng)裝配相互協(xié)作的 bean 之間的關(guān)系,這有助于減少編寫(xiě)一個(gè)大的基于 Spring 的應(yīng)用程序的 XML 配置的數(shù)量。
自動(dòng)裝配模式
下列自動(dòng)裝配模式,它們可用于指示 Spring 容器為來(lái)使用自動(dòng)裝配進(jìn)行依賴(lài)注入。你可以使用元素的 autowire 屬性為一個(gè) bean 定義指定自動(dòng)裝配模式。
| 模式 | 描述 |
|---|---|
| no | 這是默認(rèn)的設(shè)置,它意味著沒(méi)有自動(dòng)裝配,你應(yīng)該使用顯式的bean引用來(lái)連線(xiàn)。你不用為了連線(xiàn)做特殊的事。在依賴(lài)注入章節(jié)你已經(jīng)看到這個(gè)了。 |
| byName | 由屬性名自動(dòng)裝配。Spring 容器看到在 XML 配置文件中 bean 的自動(dòng)裝配的屬性設(shè)置為 byName。然后嘗試匹配,并且將它的屬性與在配置文件中被定義為相同名稱(chēng)的 beans 的屬性進(jìn)行連接。 |
| byType | 由屬性數(shù)據(jù)類(lèi)型自動(dòng)裝配。Spring 容器看到在 XML 配置文件中 bean 的自動(dòng)裝配的屬性設(shè)置為 byType。然后如果它的類(lèi)型匹配配置文件中的一個(gè)確切的 bean 名稱(chēng),它將嘗試匹配和連接屬性的類(lèi)型。如果存在不止一個(gè)這樣的 bean,則一個(gè)致命的異常將會(huì)被拋出。 |
| constructor | 類(lèi)似于 byType,但該類(lèi)型適用于構(gòu)造函數(shù)參數(shù)類(lèi)型。如果在容器中沒(méi)有一個(gè)構(gòu)造函數(shù)參數(shù)類(lèi)型的 bean,則一個(gè)致命錯(cuò)誤將會(huì)發(fā)生。 |
| autodetect(3.0版本不支持) | Spring首先嘗試通過(guò) constructor 使用自動(dòng)裝配來(lái)連接,如果它不執(zhí)行,Spring 嘗試通過(guò) byType 來(lái)自動(dòng)裝配。 |
可以使用 byType 或者 constructor 自動(dòng)裝配模式來(lái)連接數(shù)組和其他類(lèi)型的集合。
自動(dòng)裝配的局限性
當(dāng)自動(dòng)裝配始終在同一個(gè)項(xiàng)目中使用時(shí),它的效果最好。如果通常不使用自動(dòng)裝配,它可能會(huì)使開(kāi)發(fā)人員混淆的使用它來(lái)連接只有一個(gè)或兩個(gè) bean 定義。不過(guò),自動(dòng)裝配可以顯著減少需要指定的屬性或構(gòu)造器參數(shù),但你應(yīng)該在使用它們之前考慮到自動(dòng)裝配的局限性和缺點(diǎn)。
| 限制 | 描述 |
|---|---|
| 重寫(xiě)的可能性 | 你可以使用總是重寫(xiě)自動(dòng)裝配的 |
| 原始數(shù)據(jù)類(lèi)型 | 你不能自動(dòng)裝配所謂的簡(jiǎn)單類(lèi)型包括基本類(lèi)型,字符串和類(lèi)。 |
| 混亂的本質(zhì) | 自動(dòng)裝配不如顯式裝配精確,所以如果可能的話(huà)盡可能使用顯式裝配。 |
分享題目:創(chuàng)新互聯(lián)Spring教程:SpringBeans自動(dòng)裝配
網(wǎng)站鏈接:http://m.5511xx.com/article/dpescid.html


咨詢(xún)
建站咨詢(xún)
