Sobes.tech
Junior — Middle
156

Aká je úloha anotácie @Primary v rámci Spring a kedy ju použiť?

Spoločnosti boli požiadané
AstonAston
eRaga Infosystem
Технодиасофт

Odpoveď od AI

sobes.tech AI

Аннотация @Primary в Spring используется для указания предпочтительного бина, когда в контексте есть несколько кандидатов одного типа. Если Spring не может однозначно выбрать бин для внедрения из-за нескольких подходящих, бин с @Primary будет выбран по умолчанию.

Использовать @Primary следует, когда:

  • Есть несколько реализаций одного интерфейса или класса.
  • Нужно явно указать, какой бин использовать по умолчанию.

Пример:

@Component
@Primary
public class DefaultPaymentService implements PaymentService {
    // реализация
}

@Component
public class SpecialPaymentService implements PaymentService {
    // другая реализация
}

В этом случае при автосвязывании PaymentService будет выбран DefaultPaymentService, если не указано иное.