Äskettäin, kun käytin kuuntelijaa, kohtasin ongelman, että jousta ei voitu injektoida, koodi on seuraava, tämä tehtävä on aina nolla, paketti on selvästi pyyhitty pois, mutta sitä ei voi injektoida.
Syynä on seuraava: kuuntelijan kuuntelija ei voi injektoida papua Spring-säiliön @Resource tai @Autowired annotaatiomenetelmällä, koska web-palvelinkontissa,Kumpikaan Servlet, Filter tai Listener ei ole Spring-konttien hallinnoimia,Siksi emme voi suoraan käyttää Springin annotaatiomenetelmää näissä luokissa tarvittavien objektien injektioimiseen。 Tässä koko servletin elinkaari hoidetaan servlet-säiliön kautta. Jos laitat sen Spring-konttiin luodaksesi sen, servlet-objektin voi luoda Spring-kontti, mutta servlet-kontti ei välttämättä tiedä servletin olemassaolosta, koska se ei ole omassa säiliössään. Siksi servletiä hallinnoi web-palvelin, ei kevät.
Tee seuraavat muutokset:
Kevään kontekstista otettuna se ratkaisi ongelman täydellisesti.
|