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

Spring中@Autowired和@Resource注解的使用區(qū)別詳解

 更新時間:2023年11月06日 08:43:50   作者:Sterne_  
這篇文章主要介紹了Spring中@Autowired和@Resource注解的使用區(qū)別詳解,@Autowired默認(rèn)根據(jù)type進行注入,找到與指定類型兼容的?Bean?并進行注入,如果無法通過type匹配到對應(yīng)的?Bean?的話,會根據(jù)name進行匹配,如果都匹配不到則拋出異常,需要的朋友可以參考下

1. @Autowired

@Autowired是由Spring提供的注解

@Autowired的bean的匹配規(guī)則

@Autowired默認(rèn)根據(jù)type進行注入,找到與指定類型兼容的 Bean 并進行注入,如果無法通過type匹配到對應(yīng)的 Bean 的話,會根據(jù)name進行匹配,如果都匹配不到則拋出異常。

  • @Autowired 默認(rèn)是按照類的類型去匹配。如果存在一個相同類型的bean,則注入該bean。
  • 如果存在多個 bean,但只有一個 bean 擁有 @Primary 注解,則將帶有 @Primary 注解的 bean 注入。@Primary 注解用于指定默認(rèn)首選的 bean。
  • 如果存在多個 bean,可以使用@Qualifier注解,配合該注解指定bean的具體名稱,根據(jù)名稱去識別bean。
  • 如果存在多個 bean,可以使用 List 或 Set 數(shù)據(jù)結(jié)構(gòu)來接收所有匹配的 bean。Spring 將自動將所有匹配的 bean 放入這些集合中。
  • 如果存在多個 bean,沒有配合上述的方案,則將拋出 NoUniqueBeanDefinitionException 異常。

在這里插入圖片描述

@Autowired的required屬性

默認(rèn)情況下,required = true,即依賴bean必須存在,如果不存在,則會拋出異常。但是,通過將required屬性設(shè)置為false,則依賴bean不存在也不會報錯。

在這里插入圖片描述

2. @Resource

@Resource是Java EE規(guī)范的一部分,但Spring同樣支持該注解。

@Resource的bean的匹配規(guī)則

默認(rèn)根據(jù)name進行注入,如果無法通過名稱匹配到對應(yīng)的 Bean 的話,會根據(jù)type進行匹配,找到與指定類型兼容的 Bean 并進行注入,如果都匹配不到則拋出異常。

使用 name 屬性指定資源的名稱

@Component
public class MyClass {
    // 名為 "myBean1" 的 bean 將會被注入
    @Resource(name = "myBean1")
    private MyBean myBean;
}

使用默認(rèn)名稱匹配資源

@Component
public class MyClass {
    // 名為“mybean”的bean將被注入
    @Resource
    private MyBean myBean;
}

根據(jù)type 屬性來指定要注入的bean類型

public interface MyService {
    void fetchData();
}
@Component
public class MyServiceA implements MyService {
    public void fetchData() {
        System.out.println("from MyServiceA");
    }
}
@Component
public class MyServiceB implements MyService {
    public void fetchData() {
        System.out.println("from MyServiceB");
    }
}
@Component
public class DataProcessor {
    // 根據(jù)指定type注入myServiceA的bean
    @Resource(type = MyServiceA.class)
    private MyService myService;
    // 與上面效果相同注入myServiceA的bean
    @Resource
    private MyServiceA myServiceA;
    // 與上面效果相同注入myServiceA的bean
    @Resource
    private MyService myServiceA;
    // 與上面效果相同注入myServiceA的bean
    @Resource(name = "myServiceA")
    private MyService myService;
    // 注入bean失敗,存在兩個bean
    @Resource
    private MyService myService;
}

@Resource不存在required屬性

到此這篇關(guān)于Spring中@Autowired和@Resource注解的使用區(qū)別詳解的文章就介紹到這了,更多相關(guān)@Autowired和@Resource注解區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 手把手教你實現(xiàn)idea中配置國內(nèi)源

    手把手教你實現(xiàn)idea中配置國內(nèi)源

    idea的國內(nèi)源配置十分重要,能夠提升程序開發(fā)的效率而且也是減少bug的一種有效防范,本文就來介紹一下idea中配置國內(nèi)源,具有一定的參考價值,感興趣的可以了解一下
    2023-07-07
  • SpringBoot實現(xiàn)多租戶系統(tǒng)架構(gòu)的5種設(shè)計方案介紹

    SpringBoot實現(xiàn)多租戶系統(tǒng)架構(gòu)的5種設(shè)計方案介紹

    多租戶(Multi-tenancy)是一種軟件架構(gòu)模式,允許單個應(yīng)用實例服務(wù)于多個客戶(租戶),同時保持租戶數(shù)據(jù)的隔離性和安全性,本文分享了SpringBoot環(huán)境下實現(xiàn)多租戶系統(tǒng)的5種架構(gòu)設(shè)計方案,需要的可以參考一下
    2025-05-05
  • java 中數(shù)組初始化實例詳解

    java 中數(shù)組初始化實例詳解

    這篇文章主要介紹了 本文主要講數(shù)組的初始化方法、可變參數(shù)列表以及可變參數(shù)列表對函數(shù)重載的影響的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Springboot-yaml配置和自動配置原理分析

    Springboot-yaml配置和自動配置原理分析

    這篇文章主要介紹了Springboot-yaml配置和自動配置原理分析,自動配置原理是配置文件配置debug: true可以在控制臺打印自動配置報告.可以打印所有的啟動的自動配置和沒有啟動的自動配置類,需要的朋友可以參考下
    2021-06-06
  • springBoot中的properties配置解析

    springBoot中的properties配置解析

    這篇文章主要介紹了springBoot中的properties配置解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 關(guān)于spring中事務(wù)的傳播機制

    關(guān)于spring中事務(wù)的傳播機制

    這篇文章主要介紹了關(guān)于spring中事務(wù)的傳播機制,所謂事務(wù)傳播機制,也就是在事務(wù)在多個方法的調(diào)用中是如何傳遞的,是重新創(chuàng)建事務(wù)還是使用父方法的事務(wù),需要的朋友可以參考下
    2023-05-05
  • Java Switch對各類型支持實現(xiàn)原理

    Java Switch對各類型支持實現(xiàn)原理

    這篇文章主要介紹了Java Switch對各類型支持實現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java使用IntelliJ IDEA連接MySQL的詳細(xì)教程

    Java使用IntelliJ IDEA連接MySQL的詳細(xì)教程

    這篇文章主要給大家介紹了關(guān)于Java使用IntelliJ IDEA連接MySQL的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • java/word+fusionchart生成圖表深入分析

    java/word+fusionchart生成圖表深入分析

    本文將以java/word+fusionchart生成圖表問題深入解析,有興趣的朋友可以參考下
    2012-11-11
  • idea啟動項目提示端口占用的問題解決

    idea啟動項目提示端口占用的問題解決

    有時候當(dāng)我們使用Tomcat啟動web項目時,會提示端口占用,導(dǎo)致啟動失敗,本文就來介紹一下端口占用的解決方法,具有一定的參考價值,感興趣的可以了解下
    2023-08-08

最新評論

盈江县| 黑山县| 墨竹工卡县| 象州县| 遵化市| 梧州市| 惠州市| 霍邱县| 高州市| 盘锦市| 河东区| 梁平县| 二连浩特市| 辽中县| 庄浪县| 雷波县| 富蕴县| 周口市| 白朗县| 澎湖县| 鄱阳县| 遂宁市| 醴陵市| 洪洞县| 同德县| 明光市| 香格里拉县| 太原市| 彩票| 马山县| 密云县| 洱源县| 通道| 五原县| 洛隆县| 太白县| 洪江市| 巨鹿县| 南充市| 喜德县| 建湖县|