Назад к вопросам
БАРС групп
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, если не указано иное.