Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 16064|Odpoveď: 2

[Zdroj] Nepodarilo sa @Autowired injektovať do Listenera

[Kopírovať odkaz]
Zverejnené 4. 4. 2019 15:23:22 | | | |
Nedávno, keď som používal Listener, som narazil na problém, že pružina sa nedala injektovať, kód je nasledovný, táto úloha je vždy nulla, balík bol zjavne odstránený, ale nedá sa injektovať.

Dôvod je nasledovný: poslucháčový poslucháč nemôže injektovať zrno pomocou @Resource Spring kontajnera alebo metódy @Autowired anotácie, pretože v kontajneri webového servera,Ani Servlet, Filter, ani Listener nie sú spravované Spring kontajnermiPreto nemôžeme priamo použiť metódu Spring annotácie v týchto triedach na injektovanie potrebných objektov。 Tu celý životný cyklus servletu spracováva servletový kontajner. Ak ho vložíte do Spring kontajnera, aby ste ho vytvorili, servlet objekt môže vytvoriť Spring kontajner, ale servlet kontajner nemusí vedieť, že servlet existuje, pretože nie je vo vlastnom kontajneri. Preto servlet spravuje webový server, nie spring.

Urobte nasledujúce úpravy:

Z kontextu jari to problém vyriešilo dokonale.


Springboot @Autowired nedokáže vstreknúť problémy
https://www.itsvse.com/thread-6397-1-1.html
(Zdroj: Architect_Programmer)






Predchádzajúci:Ako zobraziť a skryť prvky pomocou Bootstrap4
Budúci:Java annotations@PostConstruct a podrobné vysvetlenia a príklady @PreDestroy
 Prenajímateľ| Zverejnené 4. 4. 2019 15:54:53 |
Aj keď nastavíte Entity Listener na @Component, JPA v skutočnosti používa len inštanciu triedy, nie Spring managed bean. Preto máš NullPointerException. Účet HistoryRepo bude vždy prázdny.

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

Trik na injektovanie závislostí do bezstavových fazúľ je definovať závislosti ako "statické", vytvoriť setter metódu, aby Spring mohol injektovať závislosti (priraďovať ich statickým závislostiam).

Deklarujte závislosti ako statické.



Vytvorte metódu, aby ju Spring mohla injektovať.



Zdroje:https://stackoverflow.com/questi ... -jpa-entitylistener
 Prenajímateľ| Zverejnené 4. 4. 2019 16:03:23 |
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com