Spring Dersleri – Qualifier Anotasyonu Nedir? Kullanımı
Spring Framework Dersleri‘ne devam ediyoruz.
Bu yazıda Spring’i anotasyonlarla yönetebilmek işlemlerini inlceliyoruz. Qualifier kullanımına bakacağız.
Qualifier’ı açıklamadan önce Autowired anotasyonun kısaca bahsedeyim (bknz: Autowired Kullanımı) zaten işlediğimiz konu olan Autowired bir bean yönetimidir. Bu yönetim içerisinden değerleri ile birlikte enjekte edilmektedir. Eğer biz beanimize birden fazla değer atama yaparsak yani spring konfigürasyon dosyasında birden fazla bean alanlarına tanımlama yaparsak Spring bu tanımlamalarının hangisinin kullanılacağına ” @Qualifier ” anotasyonu kullanılarak çözülmektedir.
Örneğimizde bir Kisi Beani yapacağız ve Spring sayesinde bu beane iki farklı tanımlama yapacağız. Bu tanımlama sonrasında Spring’e hangisi değerin kullanılacağını söyleyeceğiz.
public class Kisi{ private Integer yas; private String ad; public void setYas(Integer yas) { this.yas = yas; } public Integer getAge() { return age; } public void setAd(String ad) { this.ad = ad; } public String getAd() { return ad; } }
Beanimizi oluşturduk. Şimdi kişi bilgileirini tanımlamak için Spring konfigürasyon dosyasına değerlerimizi atayalım.
<?xml version = "1.0" encoding = "UTF-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:context = "http://www.springframework.org/schema/context" xsi:schemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:annotation-config/> <bean id = "kisibilgileri" class = "com.burakkutbay.kisiBilgileri"></bean> <bean id = "kisi1" class = "com.burakkutbay.Kisi"> <property name = "ad" value = "Ali" /> <property name = "yas" value = "22"/> </bean> <bean id = "kisi2" class = "com.burakkutbay.Kisi"> <property name = "ad" value = "Veli" /> <property name = "yas" value = "23"/> </bean> </beans>
Kisi beanine değerlerimizi tanımladık. Bu tanımlamalarının idleri “kisi1” ve “kisi2” oldu.
public class KisiBilgileri { @Autowired @Qualifier("kisi1") private Kisi kisi; public KisiBilgileri(){ } public void kisiBilgiYaz(){ System.out.println("Kisi Adı : " + kisi.getAd()); System.out.println("Kisi Yaşı: " + kisi.getYas()); } }
Kisi bilgilerini Autowired ederek @Qualifier ile ” kisi1 ” adlı degeri set edilmesini sağlamaktayız.
Şimdi main classımızı yazalım.
public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("springcontext.xml"); KisiBilgileri kb = (KisiBilgileri) context.getBean("kisibilgileri"); kb.kisiBilgiYaz(); } }
Çıktı:
Kişi Adı: Ali Kişi Yaşı: 22
Önceki Ders: Required Anotasyonu Nedir? Kullanımı | Spring Dersleri | Sonraki Ders: FactoryBean Nedir? Kullanımı |
No Comment! Be the first one.