Sobes.tech
Junior — Middle
142

Можете ли да обясните концепцията за Primary в контекста на Spring и за какво се използва?

Компаниите бяха попитани
БАРС группБАРС групп

Отговор от AI

sobes.tech AI

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

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

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

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

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