2015-04-02 8 views
39

Ho seguito il tutorial Getting Started su spring.io per la creazione di servizi REEST https://spring.io/guides/gs/rest-service/. Il problema è che questo tutorial spiega solo come produrre un jar in esecuzione autonomo con tomcat incorporato utilizzando l'avvio a molla.creazione di servizi di riposo a molla senza l'utilizzo del boot a molla

C'è un modo per creare un progetto da zero per produrre una guerra da distribuire, ad esempio su un'istanza tomcat già esistente?

PS: Ho trovato una discussione precedente Spring RESTful Service as a WAR instead of JAR in Tomcat sullo stackoverflow riguardante lo stesso problema. Il problema è che le risposte e i suggerimenti accettati non risolvono esattamente il mio problema, dal momento che non sto cercando modi per modificare il progetto di avvio a molla standalone app in modo che funzioni su un contenitore tomcat esterno, ma vorrei trovare un soluzione "più pulita" che non coinvolge affatto lo stivale a molla. (Non sono esattamente sicuro di come comportarmi qui, essendo ancora abbastanza nuovo nello stackoverflow. Spero che l'apertura di una nuova domanda sia la procedura corretta).

+1

Quali parti del bagagliaio primavera si fa a trovare "impuri"? Sapere quali parti sei contrario a contribuire a ottenere una risposta migliore. – digitaljoel

+1

Beh, ho parlato di una soluzione 'più pulita' solo in relazione al non dover creare un progetto usando una libreria (in questo caso l'avvio, ma potrebbe essere qualsiasi altra cosa), quindi devo trovare qualche soluzione per far funzionare il codice senza di esso ; Non mi riferivo a una parte specifica dello stivale a molla che non era pulita. – chrx

+0

@digitaljoel Faccio eco a questa domanda, l'avvio è troppo ridotto. Sono famoso con Maven, Tomcat ecc. - Non voglio aprire un barattolo e volere il minor numero possibile di pom (dipende dal minor numero possibile di plug-in). Trovo quasi impossibile trovare i pochi jar necessari per le annotazioni DI e MVC (e probabilmente i dati di primavera), con le ultime versioni. – NimChimpsky

risposta

32

Non è necessario Spring Boot per creare un controller di riposo.

Si prega di seguire la documentazione quadro primavera su come impostare MVC http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#spring-web

La configurazione MVC (la DispatcherServlet) dipende dalla vostra versione di primavera, è possibile utilizzare XML o è possibile impostare a livello di codice: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-servlet

Una volta impostata, è possibile aggiungere un controller di riposo all'applicazione. Si noti che un controller di riposo (l'annotazione @RestController) è un'annotazione stereotipo che combina @ResponseBody e @Controller, in altre parole il Controller restituisce un oggetto nel corpo della risposta invece di restituire una vista.

Questo è un perfetto esempio per spiegare quello che ho detto sopra: http://www.programming-free.com/2014/01/spring-mvc-40-restful-web-services.html

+2

i collegamenti che fornisci sembrano esattamente il tipo di istruzioni che stavo cercando. molti carri armati! – chrx

+1

siete i benvenuti – selvinsource

+4

Questo mostra il chiaro problema della direzione di Primavera. Ora è tutto in boot primaverile ed è difficile trovare qualcosa che non usi lo spring boot. IMHO Spring Boot fa molto per magia ... –