С чего начать с добавления Spring в бэкэнд GWT?

У меня есть приложение GWT, в которое я хотел бы добавить Spring, и в основном использую Spring с JdbcTemplate для обработки моего соединения с базой данных и модели DAO. Я довольно опытен в работе с GWT, но только начинаю изучать Spring.

Что мне не понятно, так это где и как я бы инициализировал Spring в своем приложении GWT? Мне нужно инициализировать контекст приложения где-то, я предполагаю. Можно ли сделать это с помощью метода RPC, вызванного из onModuleLoad() во внешнем интерфейсе, но будут ли объекты по-прежнему доступны позже, если я это сделаю?

В основном я ищу общий обзор того, как и где инициализировать Spring в бэк-энде, чтобы я мог начать разработку и эксперименты с компонентами Springs.

Благодарю вас!

1 ответ

Несколько лет назад я сделал интеграцию Spring-GWT, выполнив примерно следующие шаги:

  1. Сконфигурируйте Spring ContextLoaderListener в web.xml для запуска корневого WebApplicationContext в Spring.
  2. Создайте базовый класс RemoteServiceServlet, в котором есть методы для получения пружинного ApplicationContext из ServletContext. Это можно сделать, используя что-то вроде следующего:WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);

  3. Сделать все сервлеты RPC расширяет этот базовый класс.

  4. Сервисные методы теперь могут легко получить SpringConfision. Вы можете настроить bean-компоненты уровня службы и данных в контексте Spring и сделать их доступными для своего RPC-сервлета.

Единственная проблема с этим подходом состояла в том, что сервлет RPC сам по себе не создан Spring, поэтому вы не можете вставить их зависимости.

Теперь вы можете использовать сторонние фреймворки для интеграции Spring-GWT. Например, модуль Dispatch в GWT Platform позволяет вам сконфигурировать ваш обработчик действий как пружинные бины. Такие решения в основном используют один сервлет RPC, предоставляемый платформой. Этот каркасный RPC-сервлет отвечает за создание экземпляров обработчиков на стороне сервера и их вызов. Если вы готовы изучить эти дополнительные рамки, они могут быть лучшими долгосрочными решениями, чем те, которые я описал выше.

Другие вопросы по тегам