Sobes.tech
Junior — Middle
147

Μπορείτε να εξηγήσετε την έννοια του 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, если не указано иное.