Sobes.tech
Junior — Middle
157

Welche Rolle spielt die Annotation @Primary im Spring-Framework und wann sollte sie verwendet werden?

Unternehmen wurden gefragt
AstonAston
eRaga Infosystem
Технодиасофт

Antwort von AI

sobes.tech KI

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

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

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

Пример:

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

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

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