Beispiel für das automatische @ Qualifier-Spring

Beispiel für Spring Autowiring @Qualifier

Im Frühjahr bedeutet @Qualifier, welche Bean für die automatische Verdrahtung in einem Feld qualifiziert ist. Siehe folgendes Szenario:

Autowiring-Beispiel

Im folgenden Beispiel wird automatisch eine "Personen" -Bohne in das Personeneigentum des Kunden verkabelt.

package com.example.common;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class Customer {

    @Autowired
    private Person person;
    //...
}

In der Bean-Konfigurationsdatei werden jedoch zwei ähnliche Beans "com.example.common.Person" deklariert. Weiß Spring, welche Person Bohnen automatisch verdrahten soll?





    

    
        
    

    
        
    

Wenn Sie über dem Beispiel ausführen, wird die folgende Ausnahme angezeigt:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
    No unique bean of type [com.example.common.Person] is defined:
        expected single matching bean but found 2: [personA, personB]

@Qualifier Beispiel

Um das obige Problem zu beheben, benötigen Sie@Quanlifier, um Spring mitzuteilen, welche Bean automatisch verdrahtet werden soll.

package com.example.common;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class Customer {

    @Autowired
    @Qualifier("personA")
    private Person person;
    //...
}

In diesem Fall wird die Bean "personA" automatisch verdrahtet.

Customer [person=Person [name=exampleA]]

Quellcode herunterladen

Laden Sie es herunter -Spring-AutoWiring-Qualifier-Example.zip (6 KB)