1. 程式人生 > >Spring框架中自動裝配模式的區別

Spring框架中自動裝配模式的區別

spring的自動裝配功能的定義:無須在Spring配置檔案中描述javaBean之間的依賴關係(如配置<property>、<constructor-arg>)。IOC容器會自動建立javabean之間的關聯關係。

簡而言之,一個類就是一個Bean,Spring框架是一個Bean容器,替我們管理這些Bean。類似於舞臺劇,需要很多角色,Spring就是來組織各個角色之間的關係,然後對這些角色進行調動。

在Spring框架中共有5種自動裝配,讓我們逐一分析。

Spring框架中自動裝配模式的區別

 

no:這是Spring框架的預設設定,在該設定下自動裝配是關閉的,開發者需要自行在bean定義中用標籤明確的設定依賴關係。

byName:該選項可以根據bean名稱設定依賴關係。當向一個bean中自動裝配一個屬性時,容器將根據bean的名稱自動在在配置檔案中查詢一個匹配的bean。如果找到的話,就裝配這個屬性,如果沒找到的話就報錯。

byType:該選項可以根據bean型別設定依賴關係。當向一個bean中自動裝配一個屬性時,容器將根據bean的型別自動在在配置檔案中查詢一個匹配的bean。如果找到的話,就裝配這個屬性,如果沒找到的話就報錯。

constructor:造器的自動裝配和byType模式類似,但是僅僅適用於與有構造器相同引數的bean,如果在容器中沒有找到與構造器引數型別一致的bean,那麼將會丟擲異常。

autodetect:該模式自動探測使用構造器自動裝配或者byType自動裝配。首先,首先會嘗試找合適的帶引數的構造器,如果找到的話就是用構造器自動裝配,如果在bean內部沒有找到相應的構造器或者是無參構造器,容器就會自動選擇byTpe的自動裝配方式。

以上就是對Spring框架中5種自動裝配的闡述,歡迎大家一起交流學習。