Sobes.tech
Junior — Middle
153

Czy możesz wyjaśnić koncepcję Primary w kontekście Spring i do czego służy?

Firmy, w których zadano pytania
БАРС группБАРС групп

Odpowiedź od AI

sobes.tech AI

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

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

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

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

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