Nemrég, amikor használtam a hallgatót, azzal a problémával találkoztam, hogy a rugót nem lehetett befecskendezni, a kód a következő: ez a feladat mindig null, a csomagot nyilvánvalóan elsöpörték, de nem lehet befecskendíteni.
Az ok a következő: a hallgatóhallgató nem injektálhatja a bapot a Spring konténer @Resource vagy @Autowired annotáció módszerével, mert a webszerver konténerben,Sem a Servlet, sem a Filter, sem a Listener nem menedzselnek Spring containers,Ezért nem használhatjuk közvetlenül a Spring annotációs módszert ezekben az osztályokban, hogy befecskendezzük a szükséges objektumokat。 Itt a szervet teljes életciklusát a szervlet tartály kezeli. Ha egy Spring konténerbe teszed, hogy létrehozd, a szervlet objektumot a Spring konténer is létrehozhatja, de a servlet konténer nem feltétlenül tudja, hogy létezik a szervlet, mert nem a saját konténerben van. Ezért a servletet a webszerver kezeli, nem a tavasz.
A következő módosításokat hajtsa végre:
A tavasz kontextusából kinézve tökéletesen megoldotta a problémát.
|