Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 16064|Yanıt: 2

[Kaynak] Listener'a @Autowired enjekte edemiyoruz

[Bağlantıyı kopyala]
Yayınlandı 4.04.2019 15:23:22 | | | |
Son zamanlarda, dinleyiciyi kullanırken yay enjekte edilememesi sorunuyla karşılaştım, kod şöyle, bu görev her zaman null, paket açıkça süpürülmüş ama enjekte edilemiyor.

Neden şöyledir: Dinleyici dinleyici, Spring konteynerinin @Resource veya @Autowired açıklama yöntemiyle çekirdek enjekte edemez, çünkü web sunucusu konteynerinde,Ne Servlet, ne Filter ne de Listener Spring konteynerleri tarafından yönetilmezBu nedenle, bu sınıflarda Spring annotasyon yöntemini doğrudan kullanarak ihtiyacımız olan nesneleri enjekte edemeyiz。 Burada, servletin tüm yaşam döngüsü servlet kapı tarafından yönetilir. Eğer onu bir Spring konteynerine koyarsanız, servlet nesnesi Spring konteyneri tarafından oluşturulabilir, ancak servlet konteyneri servletin var olduğunu bilmiyor çünkü kendi konteynerinde değildir. Bu nedenle, servlet web sunucusu tarafından yönetilir, bahar tarafından değil.

Aşağıdaki değişiklikleri yapın:

İlkbahar bağlamından alındığında, sorunu mükemmel şekilde çözdü.


Springboot @Autowired sorun enjekte edemiyor
https://www.itsvse.com/thread-6397-1-1.html
(Kaynak: Architect_Programmer)






Önceki:Bootstrap4 kullanarak öğeleri nasıl gösterir ve gizlerim
Önümüzdeki:Java annotations@PostConstruct ve detaylı açıklamalar ile örnekler @PreDestroy
 Ev sahibi| Yayınlandı 4.04.2019 15:54:53 |
Entity listener'ı @Component olarak ayarlasanız bile, JPA aslında sınıfın sadece bir örneğini kullanıyor, Spring tarafından yönetilen bir çekirdek değil. Bu yüzden NullPointerException alıyorsunuz. accountHistoryRepo her zaman boş olacak.

https://stackoverflow.com/questi ... n-using-postpersist

Durumsuz fasulyelere bağımlılık enjekte etmenin hilesi, bağımlılıkları "statik" olarak tanımlamak, böylece Spring'in bağımlılıkları statik bağımlılıklara ataması için bir setter yöntemi oluşturmaktır.

Bağımlılıkları statik olarak ilan et.



Spring'in bunu enjekte edebilmesi için bir yöntem yarat.



Kaynaklar:https://stackoverflow.com/questi ... -jpa-entitylistener
 Ev sahibi| Yayınlandı 4.04.2019 16:03:23 |
Benim çözümüm şöyle:


Kaynaklar:Bağlantı girişi görünür.
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com