日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Spring教程:Spring依賴注入

Spring框架的核心功能之一就是通過依賴注入的方式來管理Bean之間的依賴關(guān)系。

十余年的渝北網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整渝北建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“渝北網(wǎng)站設(shè)計”,“渝北網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

什么是依賴注入

每個基于應(yīng)用程序的 java 都有幾個對象,由這些對象一起工作來呈現(xiàn)出終端用戶所看到的工作的應(yīng)用程序。當(dāng)編寫一個復(fù)雜的 Java 應(yīng)用程序時,應(yīng)用程序類應(yīng)該盡可能獨立于其他 Java 類來增加這些類重用的可能性,并且在做單元測試時,測試獨立于其他類的獨立性。依賴注入(或有時稱為布線)有助于把這些類粘合在一起,同時保持他們獨立。

假設(shè)你有一個包含文本編輯器組件的應(yīng)用程序,并且你想要提供拼寫檢查。標(biāo)準(zhǔn)代碼看起來是這樣的:

public class TextEditor {
   private SpellChecker spellChecker;  
   public TextEditor() {
      spellChecker = new SpellChecker();
   }
}

在這里我們所做的就是創(chuàng)建一個 TextEditor 和 SpellChecker 之間的依賴關(guān)系。而在控制反轉(zhuǎn)IoC的場景中,我們會這樣做:

public class TextEditor {
   private SpellChecker spellChecker;
   public TextEditor(SpellChecker spellChecker) {
      this.spellChecker = spellChecker;
   }
}

在這里,TextEditor 不應(yīng)該擔(dān)心 SpellChecker 的實現(xiàn)。SpellChecker 將會獨立實現(xiàn),并且在 TextEditor 實例化的時候?qū)⑻峁┙o TextEditor,整個過程是由 Spring 框架的控制。

在這里,我們已經(jīng)從 TextEditor 中刪除了全面控制,并且把它保存到其他地方(即 XML 配置文件),且依賴關(guān)系(即 SpellChecker 類)通過類構(gòu)造函數(shù)被注入到 TextEditor 類中。因此,控制流通過依賴注入(DI)已經(jīng)“反轉(zhuǎn)”,因為你已經(jīng)有效地委托依賴關(guān)系到一些外部系統(tǒng)。

依賴注入的第二種方法是通過 TextEditor 類的 Setter 方法,我們將創(chuàng)建 SpellChecker 實例,該實例將被用于調(diào)用 setter 方法來初始化 TextEditor 的屬性。

因此,DI 主要有兩種變體和下面的兩個子章將結(jié)合實例涵蓋它們:

序號 依賴注入類型 & 描述
1Constructor-based dependency injection

當(dāng)容器調(diào)用帶有多個參數(shù)的構(gòu)造函數(shù)類時,實現(xiàn)基于構(gòu)造函數(shù)的 DI,每個代表在其他類中的一個依賴關(guān)系。

2Setter-based dependency injection

基于 setter 方法的 DI 是通過在調(diào)用無參數(shù)的構(gòu)造函數(shù)或無參數(shù)的靜態(tài)工廠方法實例化 bean 之后容器調(diào)用 beans 的 setter 方法來實現(xiàn)的。

你可以混合這兩種方法,基于構(gòu)造函數(shù)和基于 setter 方法的 DI,然而使用有強制性依存關(guān)系的構(gòu)造函數(shù)和有可選依賴關(guān)系的 sette r是一個好的做法。

代碼是 DI 原理的清洗機,當(dāng)對象與它們的依賴關(guān)系被提供時,解耦效果更明顯。對象不查找它的依賴關(guān)系,也不知道依賴關(guān)系的位置或類,而這一切都由 Spring 框架控制的。


分享名稱:創(chuàng)新互聯(lián)Spring教程:Spring依賴注入
文章地址:http://www.5511xx.com/article/dpesgcd.html