Spring MVC vs servlet grezzi e motore di template? [duplicare]

1

Ho letto numerosi articoli sul framework Spring MVC e non riesco ancora a vedere i vantaggi di utilizzarlo. Sembra che scrivere anche solo una semplice applicazione con esso richiede la creazione di un grande miscuglio di file XML e annotazioni e altre risme di codice per conformarsi a ciò che il framework vuole, un intero gruppo di parti mobili per realizzare un singolo compito semplice.

Ogni volta che guardo un esempio di Spring, posso vedere come posso scrivere qualcosa con la stessa funzionalità usando un semplice servlet e un motore di template (es. FreeMarker, StringTemplate), a metà delle righe di codice e pochi o nessun file XML e altri artefatti. Basta prendere i dati dalla sessione e richiedere, chiamare gli oggetti del dominio dell'applicazione, se necessario, passare i risultati al motore di template per generare la pagina web risultante, fatto.

Cosa mi manca? Puoi descrivere anche un solo esempio di qualcosa che è reso più semplice con Spring piuttosto che usare una combinazione di servlet grezzi con un motore di template? Oppure Spring MVC è solo una di quelle cose eccessivamente complicate che le persone usano solo perché il loro capo gli dice di usarlo?

EDIT : una descrizione concreta riassunta sarebbe utile. Ad esempio, "Ho usato Spring MVC per creare un'applicazione XYZ, e la sua funzione Q mi ha salvato dal dover eseguire il lavoro extra di A e B e C che sarebbe stato necessario con servlet raw e un motore di template." Semplicemente menzionare parole d'ordine del marketing come "dipendenza da iniezione" non chiarisce nulla.

    
posta Gigatron 30.06.2012 - 20:59
fonte

1 risposta

1
  • iniezione di dipendenza (è necessario per i test unitari)
  • i mapping delle richieste facili da definire rendono possibile la creazione di un'ape riposante in min
  • tag jsp personalizzati
  • jdbcTemplate
  • un'enorme libreria di funzioni utili (ad es. sicurezza, internazionalizzazione, intercettatore di dispositivi ecc.)

Sono solo alcuni dei benefici pratici che puoi trarre in inganno. La sua ampiezza può essere offoff, e la config è un po 'confusa per cominciare e causa ancora problemi di tanto in tanto (dopo due anni).

Sì, promuove il model-view-controller, i controller sono molto più belli da scrivere rispetto ai servlet di vanilla (meno prolissi, più potenti).

Ha una curva di apprendimento, una volta passato puoi sicuramente essere più produttivo con la primavera, che senza, imho.

    
risposta data 30.06.2012 - 23:33
fonte

Leggi altre domande sui tag