Junior — Middle
Spring kontekstində @Primary qeydinin nə mənaya gəldiyini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Аннотация @Primary в Spring используется для указания предпочтительного бина, если в контексте есть несколько кандидатов для внедрения зависимости одного типа.
Когда Spring сталкивается с несколькими бинами одного типа и не может однозначно выбрать, какой внедрить, можно пометить один из них аннотацией @Primary. Тогда этот бин будет выбран по умолчанию.
Пример:
@Configuration
public class AppConfig {
@Bean
public Service serviceA() {
return new ServiceImplA();
}
@Bean
@Primary
public Service serviceB() {
return new ServiceImplB();
}
}
В этом примере, если где-то в коде требуется бин типа Service без уточнения, Spring внедрит serviceB, так как он помечен @Primary.
Это удобно для управления приоритетами бинов без необходимости явно указывать имя бина при внедрении.