欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1. @Autowired

@Autowired是由Spring提供的注解

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

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

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

在這里插入圖片描述

@Autowired的required屬性

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

在這里插入圖片描述

2. @Resource

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

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

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

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

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

使用默認名稱匹配資源

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

根據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 {
    // 根據指定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屬性

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

相關文章

  • servlet實現(xiàn)文件上傳、預覽、下載、刪除功能

    servlet實現(xiàn)文件上傳、預覽、下載、刪除功能

    這篇文章主要為大家詳細介紹了servlet實現(xiàn)文件上傳、預覽、下載、刪除功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 一文帶你掌握Java中Scanner類的使用

    一文帶你掌握Java中Scanner類的使用

    Scanner類是java.util包中的一個類,常用于控制臺的輸入,當需要使用控制臺輸入時即可調用這個類。本文將通過一些簡單的例子為大家介紹一下Java中Scanner類的使用,需要的可以參考一下
    2023-04-04
  • java實現(xiàn)基于UDP協(xié)議網絡Socket編程(C/S通信)

    java實現(xiàn)基于UDP協(xié)議網絡Socket編程(C/S通信)

    這篇文章主要介紹了java實現(xiàn)基于UDP協(xié)議網絡Socket編程(C/S通信),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Java中圖片的常用操作代碼總結

    Java中圖片的常用操作代碼總結

    這篇文章主要為大家詳細介紹了Java中對圖片進行常用操作處理的代碼,例如生成自定義圖片、獲取圖片格式、圖片的裁剪與壓縮等,感興趣的小伙伴可以了解一下
    2022-11-11
  • IDEA性能優(yōu)化方法解決卡頓問題

    IDEA性能優(yōu)化方法解決卡頓問題

    本文主要介紹了如何在不升級電腦配置的情況下通過修改IntelliJIDEA的設置來優(yōu)化其性能,從而提升開發(fā)效率
    2024-12-12
  • Java對文本文件MD5加密并ftp傳送到遠程主機目錄的實現(xiàn)方法

    Java對文本文件MD5加密并ftp傳送到遠程主機目錄的實現(xiàn)方法

    這篇文章主要給大家介紹了關于Java對文本文件MD5加密并ftp傳送到遠程主機目錄的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • java依賴混亂存在的問題與解決方案

    java依賴混亂存在的問題與解決方案

    這篇文章主要為大家介紹了java依賴混亂存在的問題與解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • No ‘Access-Control-Allow-Origin‘ header is present跨域及解決

    No ‘Access-Control-Allow-Origin‘ header is&nb

    這篇文章主要介紹了No ‘Access-Control-Allow-Origin‘ header is present跨域及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • java數(shù)據結構實現(xiàn)順序表示例

    java數(shù)據結構實現(xiàn)順序表示例

    這篇文章主要介紹了java數(shù)據結構實現(xiàn)順序表示例,需要的朋友可以參考下
    2014-03-03
  • SpringCloud Config配置中心原理以及環(huán)境切換方式

    SpringCloud Config配置中心原理以及環(huán)境切換方式

    這篇文章主要介紹了SpringCloud Config配置中心原理以及環(huán)境切換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論