search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
170 gösterim

Spring'de DI (Dependency Injection) yapıyoruz, bunun 3 farklı yolu da var. Constructor ,property ve method ile.

  • Peki bunların arasında ne fark var?
  • Tüm DI ları neden property yapıp geçsek olmaz mı ya da constructor ile ?

Özetle DI yaparken nasıl yapacağımızı neye göre karar veriyoruz?

Unix/Linux kategorisinde 2.0k puan

1 cevap

0 oy

Spring Framework'de Dependency Injection (DI) yapmak için birkaç yöntem vardır:

  1. Constructor Injection: Bu yöntemde, bir nesnenin gerekli olan bağımlılıklarını oluşturma anında yapar. Spring Framework, bu yöntemi kullanmak için bir sınıfın yapılandırıcı metodunu kullanır.

  2. Setter Injection: Bu yöntemde, bir nesnenin gerekli olan bağımlılıkları setter metodları aracılığıyla yapılır. Spring Framework, bu yöntemi kullanmak için bir sınıfın setter metodlarını kullanır.

  3. Interface-based Injection: Bu yöntemde, bir sınıfın bir arayüzünü implemente etmesi gerekir. Spring Framework, bu yöntemi kullanmak için arayüzü kullanır.

  4. Annotation-based Injection: Bu yöntemde, Spring Framework, sınıf içinde @Autowired, @Inject gibi anotasyonlar kullanılır. Bu anotasyonlar, Spring Framework'e bağımlılıkların nasıl yapılandırılacağını belirtir.

  5. Field Injection: Bu yöntemde, Spring Framework, sınıf içinde @Autowired, @Inject gibi anotasyonlar kullanılır. Bu anotasyonlar, Spring Framework'e bağımlılıkların nasıl yapılandırılacağını belirtir.

Her yöntemde amaç aynıdır, yani sınıfların birbirlerine bağımlılıklarını yapılandırmak ve kodun daha test edilebilir hale getirmek. Hangi yöntemi kullanırsanız kullanın Spring Framework size bu işlemi gerçekleştirme imkanı sunmaktadır.

6.1k puan

İlgili sorular

0 oy
2 cevap 369 gösterim
369 gösterim
Dependency Injection (DI) sık sık nesne yönelimli programlama (OOP) mülakat sorularında karşıma çıkıyor. Bu kavram nedir açıklayabilir misiniz?
9 Haziran 2021 Genel Kavramlar kategorisinde kupanintorunu 365 puan sordu
0 oy
1 cevap 463 gösterim
463 gösterim
Java öğrenmeye çalışıyorum ve sürekli spring'in çok önemli olduğunu duyuyorum. Ne olduğunu açıklar mısınız?
6 Eylül 2019 Java kategorisinde kupanintorunu 365 puan sordu
0 oy
1 cevap 238 gösterim
238 gösterim
Spring 'de component ile service ve repositor anatasyonlarının ne farkı vardır?
29 Eylül 2020 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 407 gösterim
407 gösterim
Spring'de @Repository ve @Autowired nasıl ve hangi amaçla kullanılır? Bu annotationları kullanmadan projemiz çalıştırabilir miyiz? spring uygulaması bunları algılayabilir mi? Örneğin CrudRepository yu extend ettim bir interface'imde ancak annotation koymazsam olur mu? //@Repository public interface EmployeeRepository extends JpaRepository<Employee,Long>{ }
20 Haziran 2020 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 148 gösterim
148 gösterim
Bir Spring projesinde daha önceden yazılmış bir static metodun içine parametre ekleyip kullanmam gerekiyor. Dolayısıyla eklemem gereken parametre(nesne) de static olmak zorunda. Bu nesneyi de autowire ederek almam gerekiyor. Nasıl bir yol izleyebilirim?
14 Şubat 2019 Java kategorisinde sinan 291 puan sordu