更新時(shí)間:2022-11-01 09:13:49 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2096次
Spring是一個(gè)開源輕量級(jí)框架,它允許 Java EE 7 開發(fā)人員構(gòu)建簡(jiǎn)單、可靠和可擴(kuò)展的企業(yè)應(yīng)用程序。該框架主要側(cè)重于提供各種方法來幫助您管理業(yè)務(wù)對(duì)象。與 Java 數(shù)據(jù)庫(kù)連接 (JDBC)、JavaServer Pages (JSP) 和 Java Servlet 等經(jīng)典 Java 框架和應(yīng)用程序編程接口 (API) 相比,它使 Web 應(yīng)用程序的開發(fā)更加容易。該框架使用各種新技術(shù),如面向切面編程 (AOP)、普通 Java 對(duì)象 (POJO)和依賴注入 (DI) 來開發(fā)企業(yè)應(yīng)用程序。
Spring IoC(控制反轉(zhuǎn))容器是 Spring Framework 的核心。它創(chuàng)建對(duì)象,配置和組裝它們的依賴關(guān)系,管理它們的整個(gè)生命周期。容器使用依賴注入(DI)來管理組成應(yīng)用程序的組件。它從配置文件 (XML) 或 Java 代碼或 Java 注釋和 Java POJO 類中獲取有關(guān)對(duì)象的信息。這些對(duì)象稱為 Bean。由于 Java 對(duì)象及其生命周期的控制不是由開發(fā)人員完成的,因此稱為控制反轉(zhuǎn)。以下是 Spring IoC 的一些主要特性,
為我們創(chuàng)建對(duì)象,
管理我們的對(duì)象,
幫助我們的應(yīng)用程序可配置,
管理依賴項(xiàng)
依賴注入是Spring IOC(Inversion of Control)提供的主要功能。Spring-Core 模塊負(fù)責(zé)通過 Constructor 或 Setter 方法注入依賴項(xiàng)。控制反轉(zhuǎn)的設(shè)計(jì)原則強(qiáng)調(diào)保持Java類相互獨(dú)立,容器將它們從對(duì)象創(chuàng)建和維護(hù)中解放出來。這些由 Spring 管理的類必須遵守 Java-Bean 的標(biāo)準(zhǔn)定義。Spring 中的依賴注入還確保了類之間的松散耦合。Spring 依賴注入有兩種類型。
Setter 依賴注入 (SDI)
構(gòu)造函數(shù)依賴注入 (CDI)
1.Setter 依賴注入 (SDI)
Setter Injection 是兩種依賴注入方法中更簡(jiǎn)單的一種。在此,依賴注入將在 setter 和/或 getter 方法的幫助下注入。現(xiàn)在要在 bean 中將 Dependency Injection 設(shè)置為 Setter Injection,它是通過 bean-configuration 文件完成的。為此,要使用 Setter Injection 設(shè)置的屬性在 bean-config 文件中的<property>標(biāo)記下聲明。
2.構(gòu)造函數(shù)依賴注入(CDI)
在構(gòu)造函數(shù)注入中,依賴注入將在構(gòu)造函數(shù)的幫助下被注入。現(xiàn)在要將依賴注入設(shè)置為bean中的構(gòu)造函數(shù)依賴注入,它是通過bean配置文件完成的。為此,要使用 CDI 設(shè)置的屬性在 bean-config 文件中的<constructor-arg>標(biāo)記下聲明。
最后,讓我們通過下表描述它們之間的激烈差異,以便更好地理解,因?yàn)槿绻簧钊肜斫猓倳?huì)存在兩難境地。
Spring IoC(控制反轉(zhuǎn)) | Spring 依賴注入 |
---|---|
Spring IoC Container 是 Spring Framework 的核心。它創(chuàng)建對(duì)象,配置和組裝它們的依賴關(guān)系,管理它們的整個(gè)生命周期。 | Spring依賴注入是通過spring的以下方式注入框架組件的依賴的一種方式:構(gòu)造函數(shù)注入和Setter注入 |
由于 IoC(控制反轉(zhuǎn)),Spring 有助于創(chuàng)建對(duì)象、管理對(duì)象、配置等。 | 由于依賴注入,Spring 框架有助于創(chuàng)建松散耦合的應(yīng)用程序。 |
Spring IoC 是通過依賴注入實(shí)現(xiàn)的。 | 依賴注入是提供依賴的方法,控制反轉(zhuǎn)是依賴注入的最終結(jié)果。 |
IoC 是一種設(shè)計(jì)原則,其中程序的控制流是倒置的。 | 依賴注入是 IOC 原則的子類型之一。 |
面向方面的編程是實(shí)現(xiàn)控制反轉(zhuǎn)的一種方法。 | 如果業(yè)務(wù)需求發(fā)生任何變化,則無需更改代碼。 |
以上就是關(guān)于“Spring依賴注入和控制反轉(zhuǎn)的區(qū)別”介紹,大家如果想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的Spring教程,里面還有更豐富的知識(shí)等著大家去學(xué)習(xí),希望對(duì)大家能夠有所幫助哦。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)