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)