Spring ile ilgili önceki iki yazımda kısa girişler yapmıştık. İlk ve ikinci yazıya linklerden ulaşabilirsiniz. İkinci yazıda xml dosyası üzerinden bean oluşturmuştuk. Bu beanler set ve get metotlarını kullanıyordu. Bu yazıda ise constructor yani yapılandırıcı kullanarak bean örneği oluşturacağız. Çok fazla vakit kaybetmeden kodlara bakalım.

package com.farukbozan.spring;public class Ogrenci {private int numara;
private String ad;
private double ortalama;public Ogrenci() {
}

public Ogrenci(int numara, String ad, double ortalama) {
this.numara = numara;
this.ad = ad;
this.ortalama = ortalama;
}

public String getAd() {
return ad;
}

public void setAd(String ad) {
this.ad = ad;
}

public int getNumara() {
return numara;
}

public void setNumara(int numara) {
this.numara = numara;
}

public double getOrtalama() {
return ortalama;
}

public void setOrtalama(double ortalama) {
this.ortalama = ortalama;
}

}

Yukarıdaki tabloda kullanılan öğrenci sınıfı görülmektedir. Şimdi bean değerlerini barındıran xml dosyasına bakalım.

Spring_Bean

Yukarıdaki resimde iki bean örneği bulunmaktadır. İlk bean set metotları ile oluşturulmaktadır. İkinci bean ise yapılandırıcı aracılığı ile oluşturulmuştur. Index parametre sırasını, type parametre tipini, value ise parametre değerini belirtmektedir. Son olarak main sınıfı ve çıktısı görülmektedir.

package com.farukbozan.spring;import org.springframework.context.support.ClassPathXmlApplicationContext;public class MainSpringDesktop {public static void main(String[] args) {

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{“applicationContext.xml”});
Ogrenci ogrenciAhmet = (Ogrenci)context.getBean(“Ahmet”, Ogrenci.class);
Ogrenci ogrenciAli = (Ogrenci)context.getBean(“Ali”, Ogrenci.class);

System.out.println(ogrenciAhmet.getNumara() + “\t” + ogrenciAhmet.getAd() + “\t” + ogrenciAhmet.getOrtalama());
System.out.println(ogrenciAli.getNumara() + “\t” + ogrenciAli.getAd() + “\t” + ogrenciAli.getOrtalama());

}

Spring_Bean_Sonuc

Bol Java’ lı günler dileğiyle…

One response

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.