@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
}