Получение контекста приложения весеннего сервлета - PullRequest
1 голос
/ 25 марта 2011

Мне нужно получить контекст приложения сервлета на бизнес-уровне приложения Spring mvc.

Я пытался реализовать интерфейс ApplicationContextAware, автоматически подключать поле WebApplicationContext и даже реализовать ServletContextAware и получить контекст приложения с помощью WebApplicationContextUtils, но ничего из этого не работает.

Есть ли другой способ получить его? Я хочу избежать передачи параметра HttpServletRequest от контроллера для получения контекста приложения в бизнес-объекте.

Если это чем-то помогает, я работаю на сервере WebSphere 6.1 и думаю, что он имеет сервлет 2.4 api.

1 Ответ

1 голос
/ 25 марта 2011

Реализация ApplicationContextAware и введение ApplicationContext работы.Так что это путь.Вы должны выяснить, какая еще проблема не позволяет ей работать (как она вообще не работает?)

Например, убедитесь, что вы не создали экземпляр класса обслуживания с помощью оператора new.

Кстати, вы не можете и не должны получать дочерний контекст приложения (определяемый dispatcher-servlet) на уровне сервиса.Это означает, что родитель будет знать о дочерних контекстах - а это не так.Таким образом, вы нарушаете границы слоя.Подумайте о другом способе решения этой задачи - например, вставьте контекст в контроллер (он должен работать там), а затем передайте нужные аргументы службе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...