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

Type and hit Enter to search

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

Spring Dersleri – Autowiring Nedir? Kullanımı

Paylaş

Spring Dersleri‘ne devam ediyoruz.

Spring’in özelliklerini incelemeye devam ediyoruz. Önceki dersimizde işlediğimiz Dependency Injection konusunda bağımlılıkları enjekte ederken Spring xml dosyasında bean bağımlılıklarında kullanılan <constructor-arg> , <property> attributelerini kullanarak gerçekleştiriyorduk. Bu işlem yazılımız arttıkça tekrar tekrar yaparak Spring xml dosyamız büyümekte ve yönetmesi zorlaşmaya başlayacaktır.

Autowiring yöntemi ile xml bağımlılığı en aza inmektedir.  Autowiring yapmanın çeşitleri bulunmaktadır. Bunları inceleyim.

Mod Açıklama
no  Varsayılandır. Bağımlılıklar tek tek yazılır.
byName Bileşen özelliklerine otomatik olarak bağlanır. Aynı adda olan bean’e bağlanır.
byType Aynı tip ve türden olan bileşenler bağlanır.
constructor Constructorlar üzerinden bileşenler bağlanır.
autodetect Varsayılan olarak constructor üzerinden bağlanır. Eğer constructor yoksa byType olarak bağlanır.

Bir senaryo üzerinden yukarıdaki modları kullanarak Autowiring ile beanları birbirine bağlayalım. Bir üye sınıfımız ve ona bağlı adres sınıfımız olsun.

public class Uye {
    
    private String ad;
    private String soyad;
    private String kullaniciAdi;

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

    public String getKullaniciAdi() {
        return kullaniciAdi;
    }

    public void setKullaniciAdi(String kullaniciAdi) {
        this.kullaniciAdi = kullaniciAdi;
    }
    
}

Uye sınıfımızı oluşturduk ve şimdi Adres sınıfımızı oluşturalım.

public class Adres {

   private String sokak;
   private String mahalle;
   private String cadde;

   private Uye uye;

    public Uye getUye() {
        return uye;
    }

    public void setUye(Uye uye) {
        this.uye = uye;
    }

    public String getSokak() {
        return sokak;
    }

    public void setSokak(String sokak) {
        this.sokak = sokak;
    }

    public String getMahalle() {
        return mahalle;
    }

    public void setMahalle(String mahalle) {
        this.mahalle = mahalle;
    }

    public String getCadde() {
        return cadde;
    }

    public void setCadde(String cadde) {
        this.cadde = cadde;
    }
}

Programı çalıştıracak sınıfımızı yazalım.

public class App {
  public static void main(String[] args) {
     ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
       Bolum bolum= (Adres) context.getBean("adres");
       System.out.println("Adres :"+adres.getMahalle()+" Uye Adı:"+uye.getUye().getAd());
    }
  }

Bu programımızda Adreste bulunan üyeyi görüntülemektedir. Spring xml konfigürasyonunu inceleyelim asıl konumuza gelelim. Autowiring yaparak beanlerimizi birleştirelim.

Kullanımı

<beans> 
 <bean id="adres" class="com.burakkutbay.Adres" autowire="byType">

 </bean>
    <bean id="uye" class="com.burakkutbay.Uye">

 </bean>
</beans>

Yukarıdaki işaretli yerde autowire kısmına ilgili modları eklediğimiz takdirde ilgili değerleri tip bazında ya da değer bazında beanlari bağlamış olmaktayız.

 

Önceki Ders: Dependency Injection (DI) Spring Dersleri Sonraki Ders: Autowired Anotasyonu Kullanımı

Tags:

AutodetectbyNamebyTypeconstructornospring autowiring örneklerispring derslerispring örnekleri

Paylaş

Diğer Yazılar

Previous

Hibernate Dersleri – C3P0 Connection Pool Kullanımı

blank
Next

Spring Dersleri – Autowired Anotasyonu Kullanımı

Next
blank
05 Temmuz 2017

Spring Dersleri – Autowired Anotasyonu Kullanımı

Previews
16 Haziran 2017

Hibernate Dersleri – C3P0 Connection Pool Kullanımı

blank

3 Comments

  1. yelden dedi ki:
    30 Haziran 2017, 16:36

    güzel bir paylaşım olmuş emeğinize sağlık.

    Cevapla
  2. Oguzhan dedi ki:
    24 Mart 2018, 15:47

    Bolum bolum= (Adres) context.getBean(“adres”); // hatalı gözden kaçmış olabilir

    Adres adres= (Adres) context.getBean(“adres”);

    Cevapla
  3. Ahmet Aslan dedi ki:
    08 Ağustos 2019, 13:20

    Spring Boot’a ortasından girdiğim için anlamadığım çok konu olmuştu. Biz yazmasak da servis içerisinde @autowired tanımlandığı için kafamda deli sorular dolanıp duruyordu.
    Paylaşımlarınız için teşekkürler.

    Cevapla

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

Struts
Röportaj
Android
Vue.js
Node.js
Redis
Spring Cloud Stream
Spring Data
Debezium
Mikroservis Mimarisi
XCode
Spring Native
Video
PostgreSQL
Spring Security
JPA
iPhone Uygulama Geliştirme
Objective C
Design Patterns
DevOps
Git
Apache Kafka
Maven
Yaptığım Projeler
Servlet
Spring Cloud
Linux
Spring
PrimeFaces
Spring Jdbc Template
JDBC
RabbitMQ
Manset
Google
Spring MVC
OCA Java SE 8
Quarkus
Spring Core
Microsoft
Veritabanı
Tanıyalım
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