iT邦幫忙

2023 iThome 鐵人賽

DAY 7
3
Software Development

Spring Boot 零基礎入門系列 第 7

Spring Boot 零基礎入門 (8) - 指定注入的 Bean - @Qualifier

  • 分享至 

  • xImage
  •  

指定注入的 Bean 的名字:@Qualifier


@Qualifier 的用途,是去指定要注入的 Bean 的「名字」是什麼,進而解決同時有兩個同樣類型的 Bean 存在的問題。

因此在一般的情況下,我們只要使用 @Autowired 就可以注入 Bean,但是假設今天有兩個同樣類型的 Bean 存在時,那麼我們在使用 @Autowired 的時候,就必須同時去搭配 @Qualifier,才能夠去選擇要注入的 Bean 是哪一個。

所以簡單來說,Spring Boot 就是先由 @Autowired 篩選 Bean 的類型、再由 @Qualifier 篩選 Bean 的名字,透過這樣子的連環組合拳來解決這個問題!

@Component
public class CanonPrinter implements Printer {

    @Override
    public void print(String message) {
        System.out.println("Canon印表機: " + message);
    }
}
@Component
public class Teacher {

    @Qualifer("canonPrinter")
    private Printer printer
}

上一篇
Spring Boot 零基礎入門 (7) - Bean 的創建和注入 - @Component、@Autowired
下一篇
Spring Boot 零基礎入門 (9) - Bean 的初始化 - @PostConstruct
系列文
Spring Boot 零基礎入門29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言