Merhaba arkadalar, bir önceki dersimizde bir nesnenin değişkenlerine spring.xml üzerinden değer ataması yapmıştık. Bu dersimizde ise obje enjeksiyonu yapacağız.

Örnek üzerinden inceleyecek olursak,

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

Elimizde Triangle adında bir sınıf var ve bu sınıf içerisinde yer alan iki değişken, Point türünden…

Point sınıfını inceleyelim…

  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. }

Point sınıfımız ise iki değişken ve bu değişkenlerin getter, setter’larından oluşmakta… Şimdi Triangle sınıfının içerisindeki bu türün içini Apps sınıfımızın içerisinde spring.xml üzerinden dolduracağız…
Önce spring.xml’i inceleyelim..

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

Gördüğünüz gibi, iki tane daha bean tanımlaması daha yaptık. Bunların id’si zeroPoint ve minusPoint. . Bu iki bean tanımlamasını triangle id’li tanımlamada referans olarak kullanacağız.

Id’si zeroPoint ve minusPoint olan bean tanımlamalarında gördüğünüz gibi, Point sınıfının değişkenleri olan x ve y değerlerine değer atanması yapılıyor. Daha sonra bu zeroPoint referans olarak kullanılarak, triangle id ‘li bean tanımlanmasında, obje içerisine enjekte ediliyor..

Şimdi de ana sınıfımız olan Apps sınıfı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. }

ve çıktı ;
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*** ***