Автор оригинала: mkyong.
Весной @Квалификатор означает, какой компонент имеет право автоматически подключаться к полю. Смотрите следующий сценарий:
Пример автоматической проводки
Смотрите пример ниже, он автоматически подключит компонент “персона” в свойство персоны клиента.
package com.mkyong.common;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
public class Customer {
@Autowired
private Person person;
//...
}
Но, два похожих боба” com.mkyong.common. Персона ” объявлены в файле конфигурации компонента. Будет ли Весна знать, какой человек должен быть подключен автоматически?
Когда вы запускаете приведенный выше пример, он попадает ниже исключения:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.mkyong.common.Person] is defined: expected single matching bean but found 2: [personA, personB]
Пример @Квалификатора
Чтобы устранить вышеуказанную проблему, вам нужно @Qualified сообщить Spring о том, какой компонент должен быть автоматически подключен.
package com.mkyong.common;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
public class Customer {
@Autowired
@Qualifier("personA")
private Person person;
//...
}
В этом случае боб “Персона” автоматически подключается.
Customer [person=Person [name=mkyongA]]
Скачать Исходный Код
Ссылка
Оригинал: “https://mkyong.com/spring/spring-autowiring-qualifier-example/”