Вы можете добавить контекст приложения следующим образом:
getServletContext().setAttribute(
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,
testApplicationContext
);
Это работает, потому что WebApplicationContextUtils
выбирает объект, сохраненный в ServletContext
, с ключом org.springframework.web.context.WebApplicationContext.ROOT
(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
константа).
Это только показывает, что получение бинов непосредственно из контекста приложения проблематично, поскольку этот подход не следует правилам DI. Если вы можете, попробуйте рефакторинг этого сервлета, чтобы лучше интегрировать его с Spring (например, используя HttpRequestHandlerServlet
см. Пример ).