Recent, folosind ascultătorul, am întâmpinat problema că spring nu putea fi injectat, codul este următorul, această sarcină este întotdeauna nulă, pachetul a fost evident eliminat, dar nu poate fi injectat.
Motivul este următorul: ascultătorul Listener nu poate injecta boabea folosind @Resource containerului Spring sau metoda de @Autowired adnotare, deoarece, în containerul serverului web,Nici Servlet, nici Filter, nici Listener nu sunt gestionate de containerele Spring,Prin urmare, nu putem folosi direct metoda de adnotare Spring în aceste clase pentru a injecta obiectele de care avem nevoie。 Aici, întregul ciclu de viață al servlet-ului este gestionat de containerul servlet. Dacă îl pui într-un recipient Spring pentru a-l crea, obiectul servlet poate fi creat de containerul Spring, dar containerul servlet poate să nu știe că servlet-ul există pentru că nu se află în recipientul său propriu. Prin urmare, servlet-ul este gestionat de serverul web, nu de primăvară.
Faceți următoarele modificări:
Luată din contextul primăverii, a rezolvat perfect problema.
|