31 Ekim 2018 Çarşamba

SpringContext @Primary Anotasyonu

Giriş
Açıklaması şöyle
We use the  @Primary to give higher preference to a bean when there are multiple beans of the same type.
Örnek
Elimizde bir Configuration sınıfı olsun. Aynı arayüzü gerçekleştiren iki bean var.
@Configuration
public class ConfigClass {
  @Bean(name="normalBean")
  @Primary
  public MyBeanInterface getNormalBeanInterface() {
    return new MyBeanInterfaceImpl();
  }

  @Bean(name="specialBean")
  public MyBeanInterface getSpecialBeanInterface() {
    return new MyBeanInterfaceForMyAnnotation();
  }
}
Şöyle yaparız. normalBean @Primary olarak işaretli olduğu için specialBean'e tercih edilir.
public class MyController {
  @Autowired
  private MyBeanInterface base;
}

Hiç yorum yok:

Yorum Gönder