Junior — Middle
158
Каква е ролята на анотацията @Primary във фреймуърка Spring и кога трябва да се използва?
Компаниите бяха попитани
eRaga Infosystem
Технодиасофт
Отговор от AI
sobes.tech AI
Аннотация @Primary в Spring используется для указания предпочтительного бина, когда в контексте есть несколько кандидатов одного типа. Если Spring не может однозначно выбрать бин для внедрения из-за нескольких подходящих, бин с @Primary будет выбран по умолчанию.
Использовать @Primary следует, когда:
- Есть несколько реализаций одного интерфейса или класса.
- Нужно явно указать, какой бин использовать по умолчанию.
Пример:
@Component
@Primary
public class DefaultPaymentService implements PaymentService {
// реализация
}
@Component
public class SpecialPaymentService implements PaymentService {
// другая реализация
}
В этом случае при автосвязывании PaymentService будет выбран DefaultPaymentService, если не указано иное.