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 kontajnermi,Preto 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.
|