2009-08-27 6 views
8

C'è qualche motivo per utilizzare Spring MVC (o altri framework simili) come server per GWT RPC? Per quanto posso dire, non saranno utilizzate le caratteristiche del 99,9% di Spring. Eppure, molte persone stanno cercando i modi migliori per usarli insieme.GWT e Spring MVC, ne vale la pena?

Qualcuno potrebbe spiegare, quali sono i vantaggi dell'utilizzo di framework MVC (su server) con GWT, quando tutto ciò che serve dal lato server è la logica aziendale?

+3

"Non saranno utilizzate le caratteristiche del 99,9% di Spring" ... cosa diavolo ti ha dato questa impressione? – skaffman

+0

Beh, immagino di non aver visto tutti i suoi usi. Tutto quello che ho usato usando Spring era un modo diverso di approccio MVC. – bezmax

+0

Abbastanza corretto, ma c'è un * molto * in più per Spring rispetto a MVC. – skaffman

risposta

12

Non vedo alcun punto in generale nell'utilizzo di Spring MVC o di un'altra libreria Java MVC aziendale (come Struts) insieme a un livello che, come hai detto, offre solo logica di business (e quindi può essere mantenuto piccolo e pulire il più possibile).

Ma Spring di per sé è molto più di un semplice strato framework (MVC) e utilizza l'integrazione delle dipendenze o le funzionalità AOP o l'API ORM o il linguaggio Scripting Groovy (che funziona bene con Spring) può essere un enorme vantaggio per qualsiasi applicazione.

+1

L'iniezione di dipendenza può essere ottenuta utilizzando diverse librerie. Ad esempio il Guice leggero. Mai usato AOP, quindi non so se è bello o meno. ORM ... Sì, me ne sono dimenticato. Potrebbe essere un bel punto. – bezmax

+0

Se l'app GWT deve effettuare chiamate RPC al server, il livello MVC è ancora pertinente. – skaffman

+0

Non vedo come potrei includere il classico MVC lì correttamente. La vista è solo una rappresentazione (XML o JSON) dei dati, quindi non hai davvero bisogno dell'intera roba HTML/JSP/Taglib. Naturalmente la separazione tra modello e controllore dovrebbe ancora esistere. – Daff

7

La primavera è molto più che MVC.

Anche quando si esegue l'interfaccia utente con GWT, è ancora necessario un qualche tipo di logica di back-end. Cose come database, transazioni, sicurezza, integrazioni di servizi aggiuntivi (email? SOAP?) E così via.

Per questa primavera o qualsiasi altra tecnologia lato server Java può essere una buona soluzione.

7

Come daff ha detto, Spring porta transazioni DI + AOP + + molte cose ... È utile avere quelle cose gestite sul lato server con Spring.

Inoltre, la libreria gwtrpc-spring offre un modo molto conveniente per dichiarare POJOS come servizi rpc, con l'annotazione @Service. Evita la dichiarazione di ogni servlet rpc nel web.xml, poiché la scansione per le classi con @Service è automatica.

GWT è solo un toolkit, non un framework. Se Spring può facilitare il tuo dev, usalo.

4

Tendo ad andare per GWT + GIN sul lato client e Guice sul lato server. Ma Spring potrebbe essere utilizzata anche per la persistenza, le transazioni e l'organizzazione della logica aziendale sul lato server.