最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring依賴注入深入理解

 更新時間:2021年03月01日 17:05:00   作者:徘徊在深夜中的貓  
這篇文章主要介紹了spring依賴注入深入理解,列舉了最常見的注入方式,有感興趣的同學(xué)可以研究下

IOC&&DI

IOC(Inversion of Control)一般分為兩種類型:依賴注入DI(Dependency Injection)和依賴查找(Dependency Lookup)

org.springframework.beans.factory.BeanFactory是IOC容器的具體實現(xiàn),是Spring IOC容器的核心接口

Spring IOC負責(zé)創(chuàng)建對象,管理對象,裝配對象,配置對象,并且管理這些對象的整個生命周期。

優(yōu)點:把應(yīng)用的代碼量降到最低。最小代價和最小侵入式是松散耦合得以實現(xiàn)。IOC容器支持加載服務(wù)時的餓漢式初始化和懶加載

DI依賴注入是IOC的一個方面,不需要創(chuàng)建對象,只需描述如何被創(chuàng)建,在配置文件中描述組件需要哪些服務(wù),之后IOC容器進行組裝

IOC的注入方式:1、構(gòu)造器依賴注入 2、Setter方法注入 3、工廠方法注入(很少使用)

Setter方法注入

通過Setter方法注入bean的屬性值或依賴的對象,是最常用的注入方式

<!-- property來配置屬性 
	name為屬性名
 	value為屬性值
-->
<bean id="helloWorld" class="com.zhanghe.study.spring4.beans.helloworld.HelloWorld">
 <property name="name" value="Spring Hello"/>
</bean>

構(gòu)造器注入

構(gòu)造器注入需要提供相應(yīng)的構(gòu)造器

<!-- 可以使用index來指定參數(shù)的順序,默認是按照先后順序 -->
<bean id="car" class="com.zhanghe.study.spring4.beans.beantest.Car">
 <constructor-arg value="法拉利" index="0"/>
 <constructor-arg value="200" index="1"/>
</bean>

但是如果存在重載的構(gòu)造器的話,只使用index索引方式無法進行精確匹配,還需要使用類型type來進行區(qū)分,index和type可以搭配使用

public Car(String brand, double price) {
 this.brand = brand;
 this.price = price;
}

public Car(String brand, int speed) {
 this.brand = brand;
 this.speed = speed;
}
<bean id="car" class="com.zhanghe.study.spring4.beans.beantest.Car">
 <constructor-arg value="法拉利" index="0"/>
 <constructor-arg value="20000.0" type="double"/>
</bean>

<bean id="car2" class="com.zhanghe.study.spring4.beans.beantest.Car">
 <constructor-arg value="瑪莎拉蒂" index="0"/>
 <constructor-arg value="250" type="int"/>
</bean>

到此這篇關(guān)于spring依賴注入深入理解的文章就介紹到這了,更多相關(guān)spring依賴注入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決Mac?m1?電腦?idea?卡頓的問題

    解決Mac?m1?電腦?idea?卡頓的問題

    這篇文章主要介紹了Mac?m1?電腦?idea?卡頓的問題解決,文中給大家補充介紹了IDEA卡頓問題處理方法,需要的朋友可以參考下
    2023-03-03
  • Spring Data JPA 之 JpaRepository的使用

    Spring Data JPA 之 JpaRepository的使用

    這篇文章主要介紹了Spring Data JPA 之 JpaRepository的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 16個SpringBoot擴展接口的總結(jié)和實例

    16個SpringBoot擴展接口的總結(jié)和實例

    Spring Boot是一個開源的Java框架,它簡化了基于Spring的應(yīng)用程序的開發(fā)和部署,它提供了許多強大的特性和擴展接口,本文給大家介紹了16個常用的Spring Boot擴展接口,需要的朋友可以參考下
    2023-09-09
  • Java結(jié)合uniapp實現(xiàn)驗證碼功能的示例詳解

    Java結(jié)合uniapp實現(xiàn)驗證碼功能的示例詳解

    UniApp 是一個基于 Vue.js 的跨平臺應(yīng)用開發(fā)框架,允許開發(fā)者使用統(tǒng)一的代碼庫來構(gòu)建多平臺應(yīng)用,這篇文章將給大家介紹Java結(jié)合uniapp實現(xiàn)驗證碼功能,文中通過詳細的代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-07-07
  • SpringSessionRedis配置及發(fā)現(xiàn)的問題講解

    SpringSessionRedis配置及發(fā)現(xiàn)的問題講解

    今天小編就為大家分享一篇關(guān)于SpringSessionRedis配置及發(fā)現(xiàn)的問題講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • mybatis自動掃描和自定義類注解方式

    mybatis自動掃描和自定義類注解方式

    這篇文章主要介紹了mybatis自動掃描和自定義類注解方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • spring-boot-starter-thymeleaf加載外部html文件方式

    spring-boot-starter-thymeleaf加載外部html文件方式

    本文介紹了在SpringMVC中使用Thymeleaf模板引擎加載外部HTML文件的方法,以及在Spring Boot中使用Thymeleaf的基本步驟,包括引入依賴、創(chuàng)建Controller、創(chuàng)建HTML文件、參數(shù)化訪問、熱加載和熱更新文件
    2025-02-02
  • MyBatis中TypeHandler的使用教程詳解

    MyBatis中TypeHandler的使用教程詳解

    在我們平常開發(fā)操作數(shù)據(jù)庫時,查詢、插入數(shù)據(jù)等操作行為,有時會報數(shù)據(jù)類型不匹配異常,就可以得知數(shù)據(jù)的類型是不唯一的必然是多種不同的數(shù)據(jù)類型,本文給大家介紹了MyBatis中TypeHandler的使用教程,需要的朋友可以參考下
    2024-12-12
  • Java由淺入深講解繼承上

    Java由淺入深講解繼承上

    繼承就是可以直接使用前輩的屬性和方法。自然界如果沒有繼承,那一切都是處于混沌狀態(tài)。多態(tài)是同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個接口,使用不同的實例而執(zhí)行不同操作
    2022-04-04
  • mybatis條件語句中帶數(shù)組參數(shù)的處理

    mybatis條件語句中帶數(shù)組參數(shù)的處理

    這篇文章主要介紹了mybatis條件語句中帶數(shù)組參數(shù)的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論

昌吉市| 雅安市| 荔浦县| 蕲春县| 吐鲁番市| 东宁县| 寿宁县| 焦作市| 定南县| 寻乌县| 武汉市| 台州市| 石家庄市| 汾西县| 吴忠市| 策勒县| 炎陵县| 泌阳县| 常熟市| 湘西| 从江县| 桑植县| 鸡泽县| 广汉市| 宝清县| 大关县| 孙吴县| 安多县| 丰县| 广南县| 怀仁县| 汉寿县| 天水市| 三亚市| 崇义县| 施秉县| 深泽县| 昌邑市| 灵台县| 兴城市| 化州市|