С чего начать с добавления Spring в бэкэнд GWT? - PullRequest
2 голосов
/ 18 августа 2011

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

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

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

Спасибо!

1 Ответ

1 голос
/ 19 августа 2011

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

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

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

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

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

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

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