Kısa süre önce Spring framework'ü kullanmaya başladım. Xml dosyasında (geleneksel yol) @Resource
ve Property argümanı ne zaman kullanacağım karıştı. Yeni Ek Açıklamalar tasarlarken dikkate alınan özel gerçek kullanım durumları nelerdir? Bahar Ek Açıklamalarını kullanmaya tamamen geçiş yapmanızı tavsiye eder misiniz?@Resource vs Özellik argümanı xml olarak
cevap
@Autowired bir Spring'e özgüdür ve @Resource JSR'dir, ancak geçerli Spring her ikisini de destekler. JSR birini kullanacağım, çünkü başka bir şeyi kullanmaya karar verdiyseniz, Bahar çerçevesi olmadan da çalışacaktır. XML ile ilgili ek açıklamaları dikkate alarak lütfen bu soruya bakın: Spring annotation-based DI vs xml configuration?
Kullanım durumuna bağlıdır. Benim için ek açıklamalar daha kolay çünkü her şeyi doğrudan java kodunda tutmaya izin veriyorlar, böylece sadece kendi kendini belgeliyor. Ancak bazen XML kullanmak isteyebilirsiniz (örneğin, kodun kendisini değiştirmeden yapılandırmanızı değiştirmek isterseniz, kolayca farklı xml konumları arasında geçiş yapabilirsiniz)
Bana göre, daha sonra değiştirmek isteyebileceğimiz konfigürasyon, yer tutucuları veya değerleri belirlediğimiz özellik argümanları olabilirdi. Tüm değişkenlerin @Resource ile açıklanması gerekir. – Ashley
@Resource
ve @Autowired
arasındaki fark çok iyi açıklanmıştır. Mesajlar, ayrıca benim blog dan da bulabilirsin. Temel olarak, Enjeksiyondan önce fasulye aramanın farklı yollarını belirtiyorlar.
@Autowired
, varsayılan olarak isme göre türüne göre bir araya getirilir; oysa, varsayılan olarak ada göre toplanmış olan @Resource
. Ayrıca farklı kavanoza aittirler. Property argument in xml file
İlişkin
, bu fasulye alanların değerini belirten yolu olduğunu. Eğer ne xml
yapmanız gereken bu nesnede alanının değeri, sadece ne gibi bahar söylemektir, bir Person
Sınıf bir amacı SamplePerson
adında bir fasulye oluşturmak istiyor ki:
Person samplePerson = new Person();
samplePerson.setAge(23);
samplePerson.setName("Rugal");
oluşturduktan sonra Böyle bir fasulye, Bahar içeriği bu nesneyi daha sonra kullanılmak üzere kendi kap içine yerleştirecektir. Şimdi O zaman bu person
nesne xml tanımlamaya uygun olarak öznitelikleri olacaktır göreceksiniz
@Autowired
private Person samplePerson;
kullanarak gerektiğinde bir yere bu samplePerson
fasulye enjekte @Autowired
veya @Resource
kullanabilirsiniz.
Ama birileri yeterince dinamik değildir iddia olabilir ancak aslında, ben tercih ederim Java tarzında tüm yapılandırmayı yapmak için XML altında koduna can sıkıcı.
Evet, XML yapılandırmasından Java yapılandırmasına kadar her şeyi değiştirebilirsin. Numunemi github'dan alabilirsiniz.
İlkbaharda yeniyseniz, archetype numaralı telefonu kullanmamı öneririz. Tam entegre bir kod tabanı alacaksınız.
- 1. colors.xml resource çalışmıyor
- 2. Bir işlev argümanı olarak dinamik
- 3. ENUM işlev argümanı olarak C
- 4. Android - XML düzeni vs programatik
- 5. Qt: UI ile vs vs ile xml vs ile qml
- 6. ListView: resource Sözlük'te ItemsPanelTemplate
- 7. argümanı
- 8. Sabit özellik olarak hesaplanmış özellik kullanımı
- 9. Varsayılan $ resource POST verisi
- 10. qt "resource" string
- 11. Tüm @Resource enjeksiyon tekrar
- 12. Özellik varsayılan olarak
- 13. XML düğümlerini XSLT'deki özellik değerine göre gruplandırma
- 14. xml öğesinde bir özellik değeri alma
- 15. xml şemasında benzersiz bir özellik nasıl oluşturulur?
- 16. lambda bir yapıcı argümanı olarak geçen
- 17. Shader'larda DirectX Shader Resource View
- 18. Bir argümanı
- 19. Android XML: android: elevation vs. Uygulama: yükseklik
- 20. android/drawable icon-Resource kaynaklarına erişemiyor
- 21. Köşeli Yasemin SpyOn $ resource Hatalar
- 22. Android - colors.xml resource int değeri
- 23. Genel olarak bir özellik ayarlama
- 24. 'argümanı': 'Iunknown *'
- 25. lvalue argümanı?
- 26. Boş XML öğesinin Guid.Empty olarak deserialize edilmesi
- 27. Ant: "filtreleme" ile xml dosyalarını kopyalarken özellik değerlerini xml-kaçışı nasıl verilir
- 28. C# bir 'out' parametresi olarak bir özellik Geçme
- 29. log4j2.xml özellik ikamesi $ {} WebLogic uygulamasında çalışmıyor $ 12.2.1
- 30. Silverlight resource constructor her zaman iç
@ryekayo Bilgi için teşekkürler. Sorumu güncelledim. – Ashley