Spring中Beans的自動裝配概述

2021-09-20 11:43:14 字數 1216 閱讀 4216

以下內容引用自

在之前的做法上會參照這樣的順序:1、使用元素宣告bean,2、並使用xml配置檔案中的和元素注入。但現在可以將以往的做法公升級,比如spring容器可以在不使用和元素的情況下在協作bean之間實現自動關聯,這有助於減少為大型基於spring的應用程式編寫的xml配置數量。

自動裝配模式

以下是自動裝配模式,可用於指示spring容器使用自動連線進行依賴注入。您使用元素的autowire屬性為bean定義指定自動連線模式。

模式描述

no這是預設的設定,它意味著沒有自動裝配,你應該使用顯式的bean引用來連線。你不用為了連線做特殊的事。

byname由屬性名自動裝配。spring 容器看到在xml配置檔案中bean的自動裝配的屬性設定為byname。然後嘗試匹配,並且將它的屬性與在配置檔案中被定義為相同名稱的beans的屬性進行連線。

bytype由屬性資料型別自動裝配。spring容器看到在xml配置檔案中bean的自動裝配的屬性設定為bytype。然後如果它的型別匹配配置檔案中的乙個確切的bean名稱,它將嘗試匹配和連線屬性的型別。如果存在不止乙個這樣的bean,則乙個致命的異常將會被丟擲。

constructor類似於bytype,但該型別適用於構造函式引數型別。如果在容器中沒有乙個構造函式引數型別的bean,則乙個致命錯誤將會發生。

autodetect自動偵查,spring首先嘗試通過constructor使用自動裝配來連線,如果它不執行,spring嘗試通過bytype來自動裝配。

你可以使用bytype或者constructor自動裝配模式來連線陣列和其他型別的集合。

自動裝配的侷限性

當自動裝配始終在同乙個專案中使用時,它的效果是最好的。如果不使用自動裝配,它可能會使開發人員混淆的使用它來連線只有乙個或兩個bean定義。不過,自動裝配可以顯著減少需要指定的屬性或構造器引數,但你應該在使用它們之前考慮到自動裝配的侷限性和缺點。

限制描述

重寫的可能性

您仍然可以使用和設定指定依賴關係,這些設定將始終覆蓋自動裝配。

原始資料型別

你不能自動裝配所謂的簡單型別包括基本型別,字串和類。

混亂的本質

自動裝配不如顯式裝配精確,所以如果可能的話盡可能使用顯式裝配。

Spring自動裝配Beans

在spring框架,可以用 auto wiring 功能會自動裝配bean。要啟用它,只需要在 定義 autowire 屬性。在spring中,支援 4 種自動裝配模式。這是預設的模式,你需要通過 ref 屬性來連線 bean。按屬性名稱自動裝配。在這種情況下,由於對 person bean的名稱是...

Spring自動裝配Beans

在spring框架,可以用 auto wiring 功能會自動裝配bean。要啟用它,只需要在 定義 autowire 屬性。在spring中,支援 5 自動裝配模式。customer 和 person 物件自動裝配示範。package com.yiibai.common public class ...

Spring自動裝配Beans

在spring框架,可以用 auto wiring 功能會自動裝配bean。要啟用它,只需要在 定義 autowire 屬性。在spring中,支援 5 自動裝配模式。customer 和 person 物件自動裝配示範。package com.yiibai.common public class ...