Merhaba arkadaşlar,

Bu dersimizde Spring ‘de Autowiring konusunu her zaman yaptığımız gibi örnek üzerinde işleyeceğiz. Hemen örneğimize geçelim ve örnek üzerinden farklılıkları aktaralım.

Önce yine en sade sınıfımız olan Point sınıfına bakalım,

  1. public class Point {
  2.  
  3.  private int x;
  4.  private int y;
  5.  
  6.  public int getX() {
  7.   return x;
  8.  }
  9.  public void setX(int x) {
  10.   this.x = x;
  11.  }
  12.  public int getY() {
  13.   return y;
  14.  }
  15.  public void setY(int y) {
  16.   this.y = y;
  17.  }
  18.  
  19. }

Gördüğünüz gibi sadece 2 tane değişkeni olan bir sınıf, Point.. Şimdide bu sınıfı kullanan Triangle sınıfına bakalım..

  1.  
  2. public class Triangle {
  3.  
  4.  private Point pointA;
  5.  private Point pointB;
  6.  public Triangle()
  7.  {
  8.  
  9.  }
  10.  public void sayHello()
  11.  {
  12.   System.out.println("Hello");
  13.  }
  14.  public Point getPointA() {
  15.   return pointA;
  16.  }
  17.  public void setPointA(Point pointA) {
  18.   this.pointA = pointA;
  19.  }
  20.  public Point getPointB() {
  21.   return pointB;
  22.  }
  23.  public void setPointB(Point pointB) {
  24.   this.pointB = pointB;
  25.  }
  26.  
  27. }

Burada da gördüğünüz gibi, Point türünden iki örnekleme oluşturulmuş. Şimdi bu Point nesnelerine sping üzerinden autowiring kullanılarak, isimleri üzerinden atama işlemi yapılacak…
Spring.xml’i inceleyelim,

  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3.  <beans xmlns="http://www.springframework.org/schema/beans"
  4.      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5.      xsi:schemaLocation="http://www.springframework.org/schema/beans
  6.     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  7.   <bean id="triangle" class="com.umitsamimi.Triangle" autowire="byName">
  8.    
  9.   </bean>
  10.  
  11.   <bean id="pointA" class="com.umitsamimi.Point">
  12.   <property name="x" value="0" />
  13.   <property name="y" value="2" />  
  14.   </bean>
  15.  
  16.   <bean id="pointB" class="com.umitsamimi.Point">
  17.   <property name="x" value="13" />
  18.   <property name="y" value="-19" />  
  19.   </bean>
  20.  </beans>

Spring.xml ‘de gördüğünüz gibi, triangle id’li bean’e herhangi bir atama yapılmamıştır. Referans da verilmemiştir fakat Triangle objesinin içerisinde yer alan pointA ve pointB nesnelerine, aşağıda id’leri isimleri ile eş olan bean’lerden değer ataması olacaktır. Bunu sağlayan ise triangle id’li bean içerisinde tanımlanan autowire=”byName” deklarasyonudur…

Buyrun anasınıfımıza da bakalım ve ekran görüntüsünü inceleyelim…

  1. public class Apps {
  2.  
  3.  private static ApplicationContext context;
  4.  
  5.  public static void main(String[] args) {
  6.  
  7.   context = new ClassPathXmlApplicationContext("spring.xml");
  8.  
  9.  
  10.   Triangle t = (Triangle) context.getBean("triangle");
  11.   System.out.println("pointA.x = " +t.getPointA().getX());
  12.   System.out.println("pointA.y = " +t.getPointA().getY());
  13.  
  14.   System.out.println("pointB.x = " +t.getPointB().getX());
  15.   System.out.println("pointB.y = " +t.getPointB().getY());
  16.  }
  17. }

Ekran Görüntüsü
pointA.x = 0
pointA.y = 2
pointB.x = 13
pointB.y = -19



*** *** Rica*** ***

Merhaba, cep telefonları için bir uygulama yazdım. Uygulamamın başarılı olması için onu android marketten indirir misiniz? Kesinlikle virüs ya da benzeri tehlikeler içermemektedir.
Aslında faydasız bir uygulama da değil. Allah korusun, acil durumlarda kan ararsanız eğer, şehre ve kan grubuna göre kan arama uygulaması. indirmek için lütfen : tıklayınız

*** *** Rica*** ***