Sobes.tech
Junior — Middle
151

რა როლი აქვს @Primary ანოტაციას Spring ჩარჩოში და როდის უნდა გამოიყენოს?

კომპანიებმა სადაც სთხოვეს
AstonAston
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, если не указано иное.