Junior — Middle
Spring контейнеринде эки бирдей бин колдонууда кагылышууну кантип алдын алса болот?
sobes.tech AI
AIден жооп
Spring контейнеринде, эгер эки бин бирдей атка (идентификаторго) ээ болсо, конфликт пайда болот. Конфликтти алдын алуу үчүн:
@Component("аты")аннотациясы же XML/Java конфигурациясында ар башка аттарды колдонуу.- Тийиштүү болгон учурда
@Qualifierаннотациясын колдонуп, кайсы бин колдонулушу керек экенин так көрсөтүү. - Бир бинди
@Primaryкылуу, ошондо ал конфликт болгондо автоматтык түрдө колдонулат.
Мисал менен @Qualifier:
@Component("beanOne")
public class BeanOne {}
@Component("beanTwo")
public class BeanTwo {}
@Service
public class MyService {
private final BeanOne beanOne;
public MyService(@Qualifier("beanOne") BeanOne beanOne) {
this.beanOne = beanOne;
}
}