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.