spring的自動裝配功能的定義:無須在Spring配置文件中描述javaBean之間的依賴關(guān)系(如配置、)。IOC容器會自動建立javabean之間的關(guān)聯(lián)關(guān)系。
簡而言之,一個類就是一個Bean,Spring框架是一個Bean容器,替我們管理這些Bean。類似于舞臺劇,需要很多角色,Spring就是來組織各個角色之間的關(guān)系,然后對這些角色進(jìn)行調(diào)動。
在Spring框架中共有5種自動裝配,讓我們逐一分析。
no:這是Spring框架的默認(rèn)設(shè)置,在該設(shè)置下自動裝配是關(guān)閉的,開發(fā)者需要自行在bean定義中用標(biāo)簽明確的設(shè)置依賴關(guān)系。
byName:該選項可以根據(jù)bean名稱設(shè)置依賴關(guān)系。當(dāng)向一個bean中自動裝配一個屬性時,容器將根據(jù)bean的名稱自動在在配置文件中查詢一個匹配的bean。如果找到的話,就裝配這個屬性,如果沒找到的話就報錯。
byType:該選項可以根據(jù)bean類型設(shè)置依賴關(guān)系。當(dāng)向一個bean中自動裝配一個屬性時,容器將根據(jù)bean的類型自動在在配置文件中查詢一個匹配的bean。如果找到的話,就裝配這個屬性,如果沒找到的話就報錯。
constructor:造器的自動裝配和byType模式類似,但是僅僅適用于與有構(gòu)造器相同參數(shù)的bean,如果在容器中沒有找到與構(gòu)造器參數(shù)類型一致的bean,那么將會拋出異常。
autodetect:該模式自動探測使用構(gòu)造器自動裝配或者byType自動裝配。首先,首先會嘗試找合適的帶參數(shù)的構(gòu)造器,如果找到的話就是用構(gòu)造器自動裝配,如果在bean內(nèi)部沒有找到相應(yīng)的構(gòu)造器或者是無參構(gòu)造器,容器就會自動選擇byTpe的自動裝配方式。
以上就是對Spring框架中5種自動裝配的闡述,歡迎大家一起交流學(xué)習(xí)。此外,針對spring框架的學(xué)習(xí),千鋒還推出了一套專門的視頻,主要是針對spring框架原理和具體應(yīng)用進(jìn)行講解。
同時,還有框架整合開發(fā)(SSH/SSS)、RESTful架構(gòu)和移動端接口設(shè)計、第三方接口和在線支付功能、網(wǎng)站安全和Spring Security應(yīng)用實戰(zhàn)、復(fù)雜用戶交互處理和Spring Web Flow的應(yīng)用、MyBatis的應(yīng)用和SSM整合,將深入研究其中涉及到的數(shù)據(jù)結(jié)構(gòu)和算法,對學(xué)生的技術(shù)深度有一個質(zhì)的提升。
學(xué)習(xí)java開發(fā),可以參考千鋒提供的java學(xué)習(xí)路線,該學(xué)習(xí)路線羅列了各階段完整的java學(xué)習(xí)知識,根據(jù)千鋒提供的java學(xué)習(xí)路線圖結(jié)合千鋒全套java視頻教程,可以讓你對學(xué)好java開發(fā)需要掌握的知識有個清晰的了解,并能快速入門java開發(fā)。