2009-08-27 18 views
8

Czy istnieje jakiś powód, aby używać Spring MVC (lub innych podobnych frameworków) jako serwera dla GWT RPC? O ile mogę powiedzieć, 99,9% funkcji Spring nie będzie używanych. Jednak wiele osób szuka najlepszych sposobów korzystania z nich razem.GWT i Spring MVC, czy warto?

Czy ktoś mógłby wyjaśnić, jakie są zalety korzystania z frameworków MVC (na serwerze) z GWT, kiedy wszystko, czego potrzebujesz po stronie serwera, to logika biznesowa?

+3

"99,9% cech wiosny nie będzie używane" ... co, u licha, sprawiło takie wrażenie? – skaffman

+0

Cóż, chyba nie widziałem wszystkich jego zastosowań. Wszystko, z czym pracowałem przy użyciu Springa, było różnymi sposobami podejścia MVC. – bezmax

+0

Wystarczająco sprawiedliwe, ale na wiosnę jest * dużo * więcej niż MVC. – skaffman

Odpowiedz

12

Nie widzę żadnego pożytecznego punktu w używaniu Spring MVC lub innej korporacyjnej biblioteki Java MVC (jak Struts) wraz z warstwą, która - jak powiedziałeś - oferuje tylko logikę biznesową (i dlatego może być utrzymywana jako mała i czysty jak to możliwe).

Ale sama sprężyna jest czymś więcej niż tylko warstwą WWW (MVC) i za pomocą wtyczki zależności lub funkcji AOP lub interfejsu API ORM lub języka skryptowego Groovy (który działa dobrze na wiosnę) może być ogromną korzyścią dla każdej podanie.

+1

Wstrzyknięcie zależności można uzyskać za pomocą różnych bibliotek. Na przykład lekki Guice. Nigdy nie używano AOP, więc nie wiem, czy to jest fajne, czy nie. ORM ... Tak, zapomniałem o tym. Może być miłym punktem. – bezmax

+0

Jeśli aplikacja GWT musi wywoływać RPC na serwerze, warstwa MVC jest nadal istotna. – skaffman

+0

Nie widzę, w jaki sposób mogłem poprawnie włączyć klasyczny MVC. Widok jest po prostu reprezentacją (XML lub JSON) danych, więc naprawdę nie potrzebujesz całego HTML/JSP/Taglib. Oczywiście nadal powinna istnieć separacja modelu i kontrolera. – Daff

7

Wiosna to znacznie więcej niż tylko MVC.

Nawet jeśli robisz swój interfejs z GWT, wciąż potrzebujesz jakiejś logiki zaplecza. Rzeczy takie jak bazy danych, transakcje, bezpieczeństwo, dodatkowe usługi integracji (e-maile? SOAP?) I tak dalej.

Ta wiosna lub jakakolwiek inna technologia po stronie serwera Java może być dobrym rozwiązaniem.

7

Jak powiedział daff, Wiosna przynosi transakcje DI + AOP + wiele rzeczy ... Przydaje się, aby te pliki były zarządzane po stronie serwera wiosną.

Ponadto biblioteka gwtrpc-spring oferuje bardzo wygodny sposób deklarowania POJOS jako usług rpc z adnotacją @Service. Pozwala uniknąć deklaracji każdego serwletu rpc w pliku web.xml, ponieważ skanowanie klas za pomocą @Service jest automatyczne.

GWT to tylko zestaw narzędzi, a nie ramy. Jeśli Spring może ułatwić twojemu deweloperowi, po prostu go używaj.

4

Mam tendencję do korzystania z GWT + GIN po stronie klienta i Guice po stronie serwera. Ale wiosna mogłaby być równie dobrze wykorzystana do utrzymywania, transakcji i organizacji logiki biznesowej po stronie serwera.