Часто можно увидеть тему как использовать вместе GWT + Spring
Но зачем использовать такую связку
Я вижу только пользу от инжекции каких то ДАО класов
Есть ли что то ище?
Здравствуйте, diyko, Вы писали:
D>Часто можно увидеть тему как использовать вместе GWT + Spring
Как только коммьюнити находит новый перспективный фреймверк, то обязательно в первые же дни задается вопрос, а на сколько хорошо оно интегрируется со Spring.
D>Но зачем использовать такую связку
Вопрос не понятен. Spring это решение, которое можно успешно применять в 90% всех Java проектов. Spring облегчает ряд вопросов, с которыми сталкиваешься при разработке любого не однодневного проекта.
D>Я вижу только пользу от инжекции каких то ДАО класов
DAO-то здесь при чем? Куда его в GWT инжектить.
D>Есть ли что то ище?
Ище есть серверный API, без которого от GWT особого проку мало. Вот Spring в организации сервера и пригодится. А GWT он сам очень легковестный для того чтобы Spring тащить на клиенскую сторону. Работает себе в браузере клиента. Общается себе с сервером. Зачем там Dependecy Injection-то?
Re: зачем использовать вместе GWT + Spring?
От:
Аноним
Дата:
17.10.08 08:26
Оценка:
Здравствуйте, diyko, Вы писали:
D>Часто можно увидеть тему как использовать вместе GWT + Spring D>Но зачем использовать такую связку D>Я вижу только пользу от инжекции каких то ДАО класов D>Есть ли что то ище?
GWT — это кривая технология которая криво интегрируется с Srping.
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, diyko, Вы писали:
D>>Но зачем использовать такую связку B>Вопрос не понятен. Spring это решение, которое можно успешно применять в 90% всех Java проектов. Spring облегчает ряд вопросов, с которыми сталкиваешься при разработке любого не однодневного проекта.
Меня интересует Спринг именно в контексте использования с ЖВТ
D>>Я вижу только пользу от инжекции каких то ДАО класов B>DAO-то здесь при чем? Куда его в GWT инжектить.
имел ввиду серверсайд
D>>Есть ли что то ище? B>Ище есть серверный API, без которого от GWT особого проку мало. Вот Spring в организации сервера и пригодится. А GWT он сам очень легковестный для того чтобы Spring тащить на клиенскую сторону. Работает себе в браузере клиента. Общается себе с сервером. Зачем там Dependecy Injection-то?
На сервер сайде вся понятно, причем здесь ЖВТ какой прок в постановке вопроса ЖВТ+Спринг?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, diyko, Вы писали:
D>>Часто можно увидеть тему как использовать вместе GWT + Spring D>>Но зачем использовать такую связку D>>Я вижу только пользу от инжекции каких то ДАО класов D>>Есть ли что то ище?
А>GWT — это кривая технология которая криво интегрируется с Srping.
Здравствуйте, diyko, Вы писали:
D>Зачем вобще их интегрировать? Какой прок?
Ну, например, завязать серверные методы GWT на спринговый менеджер транзакций.
Тема вообще ни о чем. Никакой особой интеграции там нет. Просто обычные классы обычно используются Spring и всё.
Здравствуйте, diyko, Вы писали:
D>>>Есть ли что то ище? B>>Ище есть серверный API, без которого от GWT особого проку мало. Вот Spring в организации сервера и пригодится. А GWT он сам очень легковестный для того чтобы Spring тащить на клиенскую сторону. Работает себе в браузере клиента. Общается себе с сервером. Зачем там Dependecy Injection-то?
D>На сервер сайде вся понятно, причем здесь ЖВТ какой прок в постановке вопроса ЖВТ+Спринг?
Может раскажу очевидные вещи, но... Как известно, в gwt есть серверная часть. Суть такая, что надо реализовать некие интерфейсы своих сервисов, gwt будет через RPC вызывать их с клиента.
Дальше, если на стороне сервера используется спринг (для управления транзакциями, например, или для реализации DAO), то хотелось бы иметь удобный доступ к бинам определённым в спринге, так как именно на них завязаны транзакции и т.д. Тут по моему очевидна необходимость интеграции
Ясно, что вариантов есть много начиная с того же service locator-а. Но идеальной тут видется такая возможность: я каким-то образом говорю gwt, что вот этот бин, определённый в контексте спринга, реализует такой-то сервис.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, diyko, Вы писали:
D>>Часто можно увидеть тему как использовать вместе GWT + Spring D>>Но зачем использовать такую связку D>>Я вижу только пользу от инжекции каких то ДАО класов D>>Есть ли что то ище?
А>GWT — это кривая технология которая криво интегрируется с Srping.
KRA>>Я использую GwtHandler. Удобно. Вот так gwt сервис с URL-ом /MyService привязывается к спринговому бину myService
D>А какие в етом преимущества?
Это очень близко к тому идеалу, о котором я писал.
Конфигурация серверных компонент gwt заключается в привязке урла сервиса к спринговому бину. И всё. Сами спринговые сервисы вообще про gwt ничего не знаю. Т.е. в сравнении с первым вариантом, что описан выше нет необходисости в каких-то дополнительных аннотациях (типа AutoInject) и что ещё более важно нет необходимости наследовать свои сервисы от класа типа AutoInjectingRemoteServiceServlet. Мои сервисы остаются POJO со всемы вытекающими.
Второй вариант с @GwtRpcEndPoint выглядит неплохо и является приемлимой альтернативой подобно использованию аннотаций для разметки котроллеров по сравнению с использованием xml.
KRA>Это очень близко к тому идеалу, о котором я писал. KRA>Конфигурация серверных компонент gwt заключается в привязке урла сервиса к спринговому бину. И всё. Сами спринговые сервисы вообще про gwt ничего не знаю. Т.е. в сравнении с первым вариантом, что описан выше нет необходисости в каких-то дополнительных аннотациях (типа AutoInject) и что ещё более важно нет необходимости наследовать свои сервисы от класа типа AutoInjectingRemoteServiceServlet. Мои сервисы остаются POJO со всемы вытекающими. KRA>Второй вариант с @GwtRpcEndPoint выглядит неплохо и является приемлимой альтернативой подобно использованию аннотаций для разметки котроллеров по сравнению с использованием xml.
А чем плох стандартний мапинг без Спринга вобще?
Мапишь жвтешной сервлет в веб.хмл и все
<servlet-name>com.streamline.server.composer.TextManagerService/com.streamline.IndexPage/TextManagerService</servlet-name>
<servlet-class>com.streamline.server.composer.TextManagerService</servlet-class>
</servlet>
<!--inserted by gwt-maven-->
<servlet-mapping>
<servlet-name>com.streamline.server.composer.TextManagerService/com.streamline.IndexPage/TextManagerService</servlet-name>
<url-pattern>/com.streamline.IndexPage/TextManagerService</url-pattern>
</servlet-mapping>
D>А чем плох стандартний мапинг без Спринга вобще? D>Мапишь жвтешной сервлет в веб.хмл и все
D> <servlet-name>com.streamline.server.composer.TextManagerService/com.streamline.IndexPage/TextManagerService</servlet-name> D> <servlet-class>com.streamline.server.composer.TextManagerService</servlet-class> D> </servlet> D> <!--inserted by gwt-maven--> D> <servlet-mapping> D> <servlet-name>com.streamline.server.composer.TextManagerService/com.streamline.IndexPage/TextManagerService</servlet-name> D> <url-pattern>/com.streamline.IndexPage/TextManagerService</url-pattern> D> </servlet-mapping>
Он не плох, но вот как мне попроще привязать к TextManagerService бины которыми управляет спринг, которые реализуют сервисы? Похоже у нас непонимание вот какого вопроса: я исхожу из того что я использую спринг на сервере. Для многих вещей, в часности для управления транзакциями. И вопрос так и стоит, как мне из gwt сервлета попроще использовать спринг? Если спринг не использовать, то и вопроса об интеграции нет.