Nesen, izmantojot klausītāju, es saskāros ar problēmu, ka pavasari nevarēja ievadīt, kods ir šāds, šis uzdevums vienmēr ir nulle, pakete acīmredzami ir izslaucīta, bet to nevar injicēt.
Iemesls ir šāds: klausītājs nevar injicēt pupiņu, izmantojot pavasara konteinera @Resource vai @Autowired anotācijas metodi, jo tīmekļa servera konteinerāNe Servlet, ne Filter, ne Listener nepārvalda Spring konteineri,Tāpēc mēs nevaram tieši izmantot pavasara anotācijas metodi šajās klasēs, lai injicētu nepieciešamos objektus。 Šeit visu servlet dzīves ciklu apstrādā servlet konteiners. Ja jūs to ievietojat pavasara traukā, lai to izveidotu, servlet objektu var izveidot ar Spring konteineru, bet servlet konteiners var nezināt, ka servlet eksistē, jo tas nav savā traukā. Tāpēc servlet pārvalda tīmekļa serveris, nevis pavasaris.
Veiciet šādas izmaiņas:
Ņemot vērā pavasara kontekstu, tas lieliski atrisināja problēmu.
|