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
502 gösterim
Spring'de @Autowired ,@Inject @Resource ile dependency injection sağlayan yapılar olduğunu biliyorum.

Hatta @Inject java'nın kendisinde olan bir şey yani platform bağımız.İlerde
Ancak @Autowired ile gerekli configuratsyonları spring'e bırakmış oluyoruz,
@Inject için gerekli bean ayarlarını bizim halletmemiz gerekiyor diye hatırlıyorum. Yanılıyor olabilirim.
Genel Kavramlar kategorisinde 2.0k puan

1 cevap

0 oy
|------------|---------------|---------------|---------------|-----------------------|
|            | Setter/Field  | Constructor   | Applicable to | Matching order        |
|            | injection     | injection     | type          |                       |
|------------|---------------|---------------|---------------|-----------------------|
| @Autowired |       X       |       X       |               | Type, Qualifier, Name |
|------------|---------------|---------------|---------------|-----------------------|
| @Inject    |       X       |       X       |               | Type, Qualifier, Name |
|------------|---------------|---------------|---------------|-----------------------|
| @Resource  |       X       |               |       X       | Name, Type, Qualifier |
|------------|---------------|---------------|---------------|-----------------------|

Böyle bir tablo güzel anlaşılır duruyor.

Burada dependency management ve inject işleminin ne olduğunu bildiğini varsayarak bu tabloyu veriyorum. Detay sorguların varsa konuşabiliriz.

Tipik olarak üçü de aynı işe yarıyor. Autowired spring çatısına ait bir annotation oluyor, diğerleri java'ya ait. Spring hepsini destekliyor.

 

Bunlara ek olarak benim de yeni fark ettiğim (aydınlandığım) durum var. Autowired yaptığımız sınıf bulunmazsa uygulama daha baştan ayağa kalmıyor. Bunu zaten biliyoruz, bunun sebebi required=true olarak öntanımlı bulunmasıymış. @Inject öntanımlı olarak required=false oluyormuş. Yani eğer bağlayacağı sınıfı bulamazsa null olmasına izin veriyormuş. Autowired sınıfı bulamazsa uygulamayı ayağa kaldırmaz.

 

6.2k puan

İlgili sorular

0 oy
1 cevap 343 gösterim
343 gösterim
Agile, Kanban ve Scrum ne işe yarıyor? Farklılıkları nelerdir? hangisini kullanalım?
5 Eylül 2020 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 1.6K gösterim
1.6K gösterim
Projemde uyguladığım bazı değişikliklerden sonra, önceki (eski) durumuna getirmeye çalışıyorum, roll back yapıp düzenlemek istiyorum. Git revert, checkout ve reset in farkını anlamaya çalışıyorum. Aynı amaç gibi görünen bu komutlardan hangisini seçeceğimizi nasıl anlarız?
28 Temmuz 2017 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
1 oy
1 cevap 858 gösterim
858 gösterim
Hadoop konusunda araştırma yapıyorum ama bu 3 tane kavram hakkında düzgün bir bilgi bulamıyorum. Hive, spark ve pig nedir? Ne için kullanılır? Hangisini kullanmalıyım?
1 Haziran 2018 Veri Tabanı kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 2.4K gösterim
2.4K gösterim
Selamlar, Linux kullanılırken hard-link ve sembolik link adı ile iki farklı linkden söz ediliyor. Bunlar nedir?
20 Haziran 2016 Unix/Linux kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 518 gösterim
518 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