Какова альтернатива использования аннотации Qualifier в XML в Spring?

1

Весной, если есть два идентификатора bean, которые относятся к одному классу, и мы просто хотим вводить значения только из одного компонента, тогда мы обычно используем следующие аннотации в совокупности:

@Autowired
@Qualifier("bean1")

Как добиться того же, используя спецификацию xml? Какова альтернатива использования аннотации классификатора в xml?

Теги:
spring
dependency-injection
autowired

1 ответ

1

Не точная альтернатива, но вы можете использовать autowire-candidate="false" для всех этих bean-компонентов, которые вы хотите исключить из автообновления, кроме того, который должен быть автообновлен.

Также вам нужно указать тот конкретный компонент, который подходит для автоустройства, явно обозначив primary="true" для него, а primary="false" для остальных.

Итак, примерно ваша xml-конфигурация должна выглядеть ниже, если вы ожидаете, что bean1 будет автоуведомлен
<bean id="bean1" class="xyzClassA" primary="true" autowire-candidate="true"/> <bean id="bean2" class="xyzClassA" primary="false" autowire-candidate="false"/> <bean id="bean3" class="xyzClassA" primary="false" autowire-candidate="false"/>

Обратите внимание, что как autowire-candidate и primary являются свойствами для тега beans и имеют значение по умолчанию как true.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню