Sobes.tech
Назад к вопросам
Junior — Middle
94

Можете объяснить концепцию Primary в контексте Spring и для чего она используется?

Компании, где спрашивали
БАРС группБАРС групп

Ответ от нейросети

sobes.tech AI

В Spring аннотация @Primary используется для указания предпочтительного бина, если в контексте есть несколько кандидатов для внедрения зависимости одного типа. Это помогает избежать конфликта, когда Spring не может однозначно выбрать, какой бин использовать.

Например, если у вас есть два бина одного интерфейса, и вы хотите, чтобы один из них использовался по умолчанию, пометьте его @Primary:

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

@Component
public class SecondaryService implements MyService {
    // реализация
}

При автосвязывании Spring выберет PrimaryService, если не указано иное.