Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 16064|Odpověď: 2

[Zdroj] Nepodařilo se mi @Autowired do Listenera zařadit

[Kopírovat odkaz]
Zveřejněno 04.04.2019 15:23:22 | | | |
Nedávno jsem při používání Listeneru narazil na problém, že pružina nemohla být injekčně vložena, kód je následující, tato úloha je vždy null, balíček byl zjevně smeten, ale nelze ho injektovat.

Důvod je následující: posluchač Listener nemůže aplikovat zrno pomocí @Resource kontejneru Spring nebo metody @Autowired anotace, protože v kontejneru webového serveru,Ani Servlet, Filter, ani Listener nejsou spravovány pomocí Spring kontejnerůProto nemůžeme v těchto třídách přímo použít metodu Spring annotation k injekci potřebných objektů。 Zde je celý životní cyklus servletu spravován schránkou servletu. Pokud ho vložíte do Spring kontejneru, aby vznikl, může být servletový objekt vytvořen Spring kontejnerem, ale servletový kontejner nemusí vědět, že servlet existuje, protože není ve svém vlastním kontejneru. Proto je servlet spravován webovým serverem, nikoli springem.

Proveďte následující úpravy:

Z kontextu jara to problém vyřešilo dokonale.


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






Předchozí:Jak zobrazit a skrýt prvky pomocí Bootstrap4
Další:Java annotations@PostConstruct a podrobná vysvětlení a příklady @PreDestroy
 Pronajímatel| Zveřejněno 04.04.2019 15:54:53 |
I když nastavíte entity listener na @Component, JPA ve skutečnosti používá jen instanci třídy, ne Spring managed bean. Proto máte NullPointerException. Účet HistoryRepo bude vždy prázdný.

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

Trik pro injekci závislostí na bezstavových zrnech spočívá v definování závislostí jako "statické", vytvoření metody setter, aby Spring mohl vkládat závislosti (přiřazovat je statickým závislostem).

Deklarujte závislosti jako statické.



Vytvořte metodu, aby ji Spring mohla injektovat.



Prostředky:https://stackoverflow.com/questi ... -jpa-entitylistener
 Pronajímatel| Zveřejněno 04.04.2019 16:03:23 |
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com