Junior — Middle
148
¿Cuál es el papel de la anotación @Primary en el marco de Spring y cuándo debe usarse?
Empresas donde se preguntó
eRaga Infosystem
Технодиасофт
Respuesta de la IA
sobes.tech AI
Аннотация @Primary в Spring используется для указания предпочтительного бина, когда в контексте есть несколько кандидатов одного типа. Если Spring не может однозначно выбрать бин для внедрения из-за нескольких подходящих, бин с @Primary будет выбран по умолчанию.
Использовать @Primary следует, когда:
- Есть несколько реализаций одного интерфейса или класса.
- Нужно явно указать, какой бин использовать по умолчанию.
Пример:
@Component
@Primary
public class DefaultPaymentService implements PaymentService {
// реализация
}
@Component
public class SpecialPaymentService implements PaymentService {
// другая реализация
}
В этом случае при автосвязывании PaymentService будет выбран DefaultPaymentService, если не указано иное.