Нещодавно, коли я користувався слухачем, я зіткнувся з проблемою, що пружину не вдалося впровадити, код такий: це завдання завжди нуль, пакет очевидно змитий, але його не можна впровадити.
Причина наступна: слухач Listener не може ін'єктувати зерно, використовуючи @Resource контейнера Spring або метод @Autowired анотації, оскільки у контейнері веб-сервера,Ні Servlet, ні Filter, ні Listener не управляються Spring контейнерами,Тому ми не можемо безпосередньо використовувати метод анотації Spring у цих класах для введення необхідних об'єктів。 Тут весь життєвий цикл сервлета охоплює контейнер сервлета. Якщо ви помістите його у контейнер Spring для створення, об'єкт сервлета може бути створений контейнером Spring, але контейнер може не знати про існування сервлета, оскільки він не знаходиться у власному контейнері. Отже, сервлет управляється веб-сервером, а не пружиною.
Внесіть такі зміни:
Взяти з контексту весни, це ідеально вирішило проблему.
|