Рубрики
Без рубрики

Пример квалификатора @ Spring Autowiring @

– Пружинный Автопровод Пример @квалификатора

Автор оригинала: 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]]

Скачать Исходный Код

Ссылка

  1. Пример весны @Autowired

Оригинал: “https://mkyong.com/spring/spring-autowiring-qualifier-example/”