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)