Sobes.tech
Junior — Middle

Spring konteynerinde iki aynı bean kullanırken çatışmayı nasıl önleyebilirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Spring konteynerinde, iki bean aynı ada (kimlik) sahipse, bir çatışma meydana gelir. Çatışmayı önlemek için:

  • @Component("isim") anotasyonu veya XML/Java yapılandırmasında farklı isimler kullanın.
  • Bağımlılık enjeksiyonunda @Qualifier anotasyonunu kullanarak hangi bean'in kullanılacağını açıkça belirtin.
  • Bir bean'i @Primary yapın, böylece çatışma durumunda varsayılan olarak kullanılır.

@Qualifier ile örnek:

@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;
    }
}