Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Spring Core

Dependency Injection (DI) – Spring Freamework Dersleri

Paylaş

Spring Freamework‘ün önemli ve sıkça kullanacağımız özelliği ola Dependency Injection yani Bağımlılıkların Enjekte edilmesi özelliğinden bahsedeceğiz.

Yaptığımız projelerde oluşturduğumuz nesnelerin diğer nesneler ile etkileşimi ile bağımlılıklarını yönetebilmemizi sağlamaktadır. Nesneler arasında bağımlılıkları ne kadar esnek olursa sonradan yapacağımız eklemeler daha kolay olmaktadır.

Spring bize iki farklı Dependency Injection özelliği tanımlamaktadır.

  • Setter Injection
  • Constructor Injection

Setter Injection

Metodlar üzerinden injection işlemi yapılmaktadır. Örnek vermek gerekirse;

public class   Kisi {

    private String ad;
    private String soyad;

    public String getAd() {
        return ad;
    }

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

    public String getSoyad() {
        return soyad;
    }

    public void setSoyad(String soyad) {
        this.soyad = soyad;
    }

    @Override
    public String toString() {
        return "Kisi{" +
                "ad='" + ad + '\'' +
                ", soyad='" + soyad + '\'' +
                '}';
    }
}

Spring konfigürasyon dosyamızı tanımlayalım ve içerisine değelerimizi setter injection yöntemiyle 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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd">

        <bean id="kisi" class="com.burakkutbay.model.Kisi">
            <property name="ad">
                <value>Burak</value>
            </property>
            <property name="soyad">
                <value>Kutbay</value>
            </property>
        </bean>
</beans>

Şimdi main classımızı yazalım.

public class Calistir {

    public static void main(String[] args) {

        ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");
        Kisi kisi=context.getBean("kisi");
        kisi.toString();

    }
}

Çalıştırdığımızda ekrana xml dosyamızda verdiğimiz değerler konsol ekranında gözükecektir.

Constructor Injection

Yapılandırıcı metod üzerinden bağımlılıklarımızı nasıl yöneteceğimize bakalım.

public class   Kisi {

    private String ad;
    private String soyad;

    public Kisi(String ad, String soyad) {
        this.ad = ad;
        this.soyad = soyad;
    }

    @Override
    public String toString() {
        return "Kisi{" +
                "ad='" + ad + '\'' +
                ", soyad='" + soyad + '\'' +
                '}';
    }
}

Xml dosyamızda yapılandırıcı metod üzerinden değerlerimizi gönderiyoruz.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd">

        <bean id="kisi" class="com.burakkutbay.model.Kisi">
            <constructor-arg value="Burak"></constructor-arg>
            <constructor-arg value="Kutbay"></constructor-arg>          
        </bean>
</beans>

Programımızı çalıştırmak için main classımızı yazalım.

public class Calistir {

    public static void main(String[] args) {

        ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");
        Kisi kisi=context.getBean("kisi");
        kisi.toString();

    }
}

İki yöntemle de değelerimizi yönetebiliyoruz. Spring ile bağımlılıkları yönetme işlemleri bu iki yöntemle yapılmaktadır.

Dependency Injection yöntemi ile Spring bizden aldığı değerleri gerekli alanlara eşleştirerek yönetebilmeyi sağlamaktadır. Genellikle değişken olabilecek değerlerin proje kodu içerisinden değil, xml dosyası üzerinden değiştirebilmek için kullanılmaktadır.
 

Önceki Ders: Spring ile Merhaba Dünya Örneği Spring Dersleri Sonraki Ders: Autowiring Nedir? Kullanımı

Tags:

Spring Dependency Injectionspring derslerispring örneklerispring uyguluma örnekleri

Paylaş

Diğer Yazılar

Previous

Illegal Syntax for Set Operation Hatası ve Çözümü

blank
Next

Hibernate Dersleri – Mapping Types

Next
blank
10 Haziran 2017

Hibernate Dersleri – Mapping Types

Previews
05 Mayıs 2017

Illegal Syntax for Set Operation Hatası ve Çözümü

blank

No Comment! Be the first one.

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

blank

Spring Component, Service, Repository, Controller Uygulama Örneği

blank

Spring Dersleri – @Component, @Service, @Repository, @Controller Anotasyon Kullanımı

Spring Dersleri

Spring Dersleri – Collections Kullanımı ve Örneği

Spring Dersleri

Spring Dersleri – FactoryBean Nedir? Kullanımı

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Redis
Röportaj
Spring Data
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Tanıyalım
Veritabanı
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale