国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

spring——依賴注入原理及注入方式

這篇具有很好參考價值的文章主要介紹了spring——依賴注入原理及注入方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

??一、依賴注入的原理是什么,為什么要用依賴注入?

??1.依賴注入(Dependency Injection,DI)
是一種設(shè)計(jì)模式和編程技術(shù),其原理是將對象的依賴關(guān)系由外部容器來管理和注入。它的目的是解耦組件之間的依賴關(guān)系,提高代碼的靈活性、可維護(hù)性和可測試性。
??2.依賴注入的原理

是通過在對象的構(gòu)造函數(shù)、屬性或方法中注入所依賴的對象,而不是在對象內(nèi)部創(chuàng)建或獲取依賴對象。這樣,對象的依賴關(guān)系由外部容器來管理,對象只需要關(guān)注自身的核心功能,而不需要關(guān)心如何獲取依賴對象。

??3.依賴注入的主要目的

是實(shí)現(xiàn)控制反轉(zhuǎn)(Inversion of Control,IoC),即將對象的創(chuàng)建、組裝和依賴關(guān)系的管理交給外部容器來負(fù)責(zé)。通過使用依賴注入,可以實(shí)現(xiàn)以下好處:

(1)解耦對象之間的依賴關(guān)系:對象不再負(fù)責(zé)創(chuàng)建或獲取依賴對象,而是通過注入的方式來獲取所需的依賴對象,從而降低了對象之間的耦合性。
(2)提高代碼的可測試性:依賴注入使得在測試過程中可以輕松替換依賴對象,從而實(shí)現(xiàn)針對單個組件的獨(dú)立測試,減少了對外部資源的依賴,使得測試更加簡單和可靠。
(3)提高代碼的靈活性和可維護(hù)性:通過外部容器來管理依賴關(guān)系,可以更靈活地配置和組裝對象,便于修改、擴(kuò)展和維護(hù)代碼。

總結(jié)來說,依賴注入的原理是通過將對象的依賴關(guān)系由外部容器來管理和注入,從而解耦組件之間的依賴關(guān)系,提高代碼的靈活性、可維護(hù)性和可測試性。使用依賴注入可以使代碼更清晰、可讀性更高,并且更易于單元測試和擴(kuò)展。

??二、依賴注入有哪幾種方法?

??1、構(gòu)造函數(shù)注入(Constructor Injection):

通過在對象的構(gòu)造函數(shù)中接收所需的依賴對象來進(jìn)行注入。在創(chuàng)建對象時,將依賴對象作為參數(shù)傳遞給構(gòu)造函數(shù),對象在創(chuàng)建完成后就具備了所需的依賴對象。這種方式可以保證對象的依賴在創(chuàng)建時就被滿足,并且使得對象的依賴關(guān)系清晰明確。

(1)首先,創(chuàng)造一個類,配置bean.xml文件
   <bean id="bookCon" class="com.itguigu.spring6.iocxml.di.Book">
        <constructor-arg name="name" value="后端"></constructor-arg>
    </bean>
(2)在bean標(biāo)簽內(nèi)部使用 constructor-arg標(biāo)簽

??type屬性:使用類型指定構(gòu)造方法中參數(shù)的類型

??index屬性:使用構(gòu)造方法中參數(shù)索引值來 進(jìn)行注入

?? name屬性 :使用構(gòu)造方法中參數(shù)名稱 來注入 ( 常用!)

??value屬性:要注入的值(基本數(shù)據(jù)類型和String類型)

??ref屬性:要注入的值(引用在IOC容器中其他的bean對象)

??2、Setter方法注入(Setter Injection):
必須要有一個無參的構(gòu)造方法,否則只能用構(gòu)造方法構(gòu)造

通過提供一組Setter方法,將依賴對象通過Setter方法進(jìn)行注入。在對象創(chuàng)建完成后,通過調(diào)用相應(yīng)的Setter方法來設(shè)置依賴對象。這種方式使得對象的依賴可以在創(chuàng)建后的任意時刻進(jìn)行注入,具有更大的靈活性。

Setter方法注入的原理步驟如下:

??(1)定義對象的依賴屬性:在目標(biāo)對象中定義一個或多個私有屬性,用于存儲依賴對象的引用。

??(2)提供Setter方法:為每個依賴屬性提供對應(yīng)的公共Setter方法,用于接收依賴對象的實(shí)例。

??(3)創(chuàng)建目標(biāo)對象實(shí)例:通過實(shí)例化目標(biāo)對象的類,創(chuàng)建目標(biāo)對象的實(shí)例。

??(4)獲取依賴對象:從外部獲取依賴對象的實(shí)例,可以是通過容器或其他方式。

??(5)調(diào)用Setter方法:將依賴對象的實(shí)例作為參數(shù),調(diào)用目標(biāo)對象的Setter方法進(jìn)行注入。在調(diào)用Setter方法時,目標(biāo)對象會將依賴對象的引用存儲到對應(yīng)的依賴屬性中。

(6)使用目標(biāo)對象:完成依賴注入后,可以通過目標(biāo)對象的其他方法或?qū)傩詠硎褂米⑷氲囊蕾噷ο蟆?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-480417.html

創(chuàng)造一個類,配置bean.xml文件
   public Book(){
        System.out.println("無參數(shù)構(gòu)造執(zhí)行.......");

    }
    public Book(String name, String author) {
        System.out.println("有參數(shù)構(gòu)造執(zhí)行.......");
        this.name = name;
        this.author = author;
    }
    <bean id="book" class="com.itguigu.spring6.iocxml.di.Book">
        
        <property name="name" value="前端"></property>
        <property name="author" value="嘎嘎"></property>
        <property name="others" value="&lt;&lt;"></property>
    </bean>
??3、接口注入(Interface Injection):

在對象的接口中定義一個用于接收依賴對象的方法,并由外部容器來調(diào)用該方法進(jìn)行注入。接口注入需要對象實(shí)現(xiàn)一個特定的接口,外部容器通過該接口的方法來注入依賴對象。這種方式較少使用,因?yàn)樾枰獙ο髮?shí)現(xiàn)額外的接口。文章來源地址http://www.zghlxwxcb.cn/news/detail-480417.html

到了這里,關(guān)于spring——依賴注入原理及注入方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring的依賴注入(DI)是什么,有哪些實(shí)現(xiàn)方式?

    在Spring中,依賴注入的實(shí)現(xiàn)方式主要有以下幾種: 類型式依賴注入(Type Based Dependency Injection):這種注入方式是通過Java接口或抽象類來實(shí)現(xiàn)的。具體來說,就是將需要注入的依賴關(guān)系定義為接口或抽象類,然后通過注解或XML配置文件等方式來指定具體的實(shí)現(xiàn)類。在運(yùn)行時,

    2024年02月09日
    瀏覽(15)
  • spring(1):基于XML獲取Bean對象以及各種依賴注入方式

    1.1 根據(jù)id獲取 1.2 根據(jù)類型獲取 1.3 根據(jù)id和類型獲取 注意: 當(dāng)根據(jù)類型獲取bean時,要求IOC容器中指定類型的bean有且只能有一個。 例如以下XML文件,當(dāng)IOC容器中一共配置了兩個,根據(jù)類型獲取時會拋出異常。 根據(jù)類型來獲取bean時,在滿足bean唯一性的前提下,其實(shí)只是看:

    2024年01月25日
    瀏覽(55)
  • 【Spring】1、Spring 框架的基本使用【讀取配置文件、IoC、依賴注入的幾種方式、FactoryBean】

    【Spring】1、Spring 框架的基本使用【讀取配置文件、IoC、依賴注入的幾種方式、FactoryBean】

    Spring 框架可以說是 Java 開發(fā)中最重要的框架,功能 非常 強(qiáng)大 中文文檔:https://springdoc.cn/spring/ 官網(wǎng):https://spring.io/ Spring makes Java Simple、modern、productive … Spring 框架的幾個核心概念: IoC: I nversion o f C ontrol:控制反轉(zhuǎn) DI: D ependency I njection:依賴注入 AOP: A spect O riented P rogram

    2024年02月09日
    瀏覽(25)
  • Spring面試整理-Spring的依賴注入

    Spring框架的依賴注入(DI)是其核心功能之一,它允許對象定義它們依賴的其他對象,而不是自己創(chuàng)建或查找它們。這種機(jī)制促進(jìn)了松耦合和更容易的測試。 依賴注入是一種設(shè)計(jì)模式,其中一個對象或方法提供另一個對象的依賴關(guān)系。在Spring中,這些依賴通常是服務(wù)、配置值

    2024年01月19日
    瀏覽(22)
  • Spring 依賴注入詳解

    目錄 1、基于構(gòu)造器的依賴注入 2、基于 Setter 方法的依賴注入 3、使用構(gòu)造器注入還是 setter 方法注入? 4、依賴注入解析的過程 5、依賴注入的相關(guān)示例 // 依賴關(guān)系,指的就是對象之間的相互協(xié)作關(guān)系 ????????依賴注入(DI)是一個過程,在這個過程中,對象僅通過構(gòu)造函

    2024年02月06日
    瀏覽(15)
  • 4、Spring之依賴注入

    4、Spring之依賴注入

    依賴注入就是對類的屬性進(jìn)行賦值 創(chuàng)建名為spring_ioc_xml的新module,過程參考3.1節(jié) 注意:constructor-arg標(biāo)簽的數(shù)量,必須和某一個構(gòu)造器方法的參數(shù)數(shù)量一致 4.4.1.1、配置bean 注意:該property name=\\\"sex\\\" value=\\\"null\\\"寫法,實(shí)際為sex所賦的值是字符串null 4.4.1.2、測試 由控制臺日志可知,

    2024年02月14日
    瀏覽(21)
  • Spring 的依賴注入

    Spring 的依賴注入

    @ 目錄 Spring 的依賴注入 每博一文案 1. 依賴注入 1.1 構(gòu)造注入 1.1.1 通過參數(shù)名進(jìn)行構(gòu)造注入 1.1.2 通過參數(shù)的下標(biāo),進(jìn)行構(gòu)造注入 1.1.3 不指定參數(shù)下標(biāo),不指定參數(shù)名字,通過自動裝配的方式 1.2 set 注入 2. set注入的各種方式詳解 2.1 set 注入外部Bean 2.2 set 注入內(nèi)部Bean 2.3 set 注

    2024年02月16日
    瀏覽(20)
  • Spring:泛型依賴注入

    Spring:泛型依賴注入

    泛型 :具有占位符(類型參數(shù))的類、結(jié)構(gòu)、接口和方法,通過 的方式定義了一個形式參數(shù),在實(shí)例化時再指明具體類型 依賴注入 :IoC 的具體實(shí)現(xiàn),指對象之間的依賴關(guān)系在程序運(yùn)行時由外部容器動態(tài)的注入依賴行為方式 泛型依賴注入 :在進(jìn)行依賴注入的同時,使用泛型

    2024年02月15日
    瀏覽(23)
  • Spring Boot中的依賴注入和自動注入

    以下內(nèi)容為本人學(xué)習(xí) Spring Boot的依賴注入和自動注入 與ChatGpt提問后對其回答 進(jìn)行部分修改 (有的錯誤實(shí)在是離譜 = =)、格式調(diào)整等操作后的答案, 可能對于其中部分細(xì)節(jié)(是錯是對,能力有限有的看不出來 = =),并未做深入探究 ,大家感興趣的話可以自行驗(yàn)證。 依賴注

    2024年02月06日
    瀏覽(16)
  • springboot依賴注入的三種方式

    springboot依賴注入的三種方式 在 Spring Boot 中,使用 XML 配置依賴注入(DI)時,需要使用 bean 元素來定義 bean,并使用 property 元素來為 bean 的屬性注入值或依賴對象。 以下是一個簡單的示例: 在 src/main/resources 目錄下創(chuàng)建 applicationContext.xml 文件。 在該文件中定義一個 testBean

    2023年04月23日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包