Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 16064|Odgovoriti: 2

[Vir] Ni mogoče vbrizgati @Autowired v Listener

[Kopiraj povezavo]
Objavljeno na 4. 04. 2019 15:23:22 | | | |
Nedavno sem pri uporabi Listenerja naletel na težavo, da Springa ni bilo mogoče vbrizgati, koda je bila naslednja: ta naloga je vedno null, paket je očitno odstranjen, vendar ga ni mogoče vbrizgati.

Razlog je naslednji: poslušalec ne more vbrizgati zrna z uporabo @Resource posode Spring ali metode @Autowired anotacije, ker v kontejnerju spletnega strežnika,Niti Servlet, Filter niti Listener niso upravljani s Spring kontejnerjiZato ne moremo neposredno uporabiti metode Spring annotation v teh razredih za vbrizgavanje potrebnih objektov。 Tukaj celoten življenjski cikel servleta upravlja servletna posoda. Če ga vstavite v posodo Spring, da jo ustvarite, lahko objekt servleta ustvari posoda Spring, vendar posoda servleta morda ne ve, da servlet obstaja, ker ni v svoji posodi. Zato servlet upravlja spletni strežnik, ne spomladi.

Naredite naslednje spremembe:

Če vzamemo iz konteksta pomladi, je to problem rešilo popolno.


Springboot @Autowired ne povzroča težav
https://www.itsvse.com/thread-6397-1-1.html
(Vir: Architect_Programmer)






Prejšnji:Kako prikazati in skriti elemente z uporabo Bootstrap4
Naslednji:Java annotations@PostConstruct ter podrobne razlage in primeri @PreDestroy
 Najemodajalec| Objavljeno na 4. 04. 2019 15:54:53 |
Tudi če nastaviš poslušalec entitete na @Component, JPA dejansko uporablja le instanco razreda, ne pa spomladanskega upravljanega zrna. Zato dobiš NullPointerException. AccountHistoryRepo bo vedno prazen.

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

Trik za vbrizgavanje odvisnosti na brezstanjske zrna je definiranje odvisnosti kot "statičnih", s čimer ustvarimo metodo nastavljalnika, da lahko Spring vbrizga odvisnosti (dodeli jih statičnim odvisnostim).

Razglasimo odvisnosti kot statične.



Ustvari metodo, da jo lahko Spring vbrizga.



Sredstva:https://stackoverflow.com/questi ... -jpa-entitylistener
 Najemodajalec| Objavljeno na 4. 04. 2019 16:03:23 |
Moja rešitev je naslednja:


Sredstva:Prijava do hiperpovezave je vidna.
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com