Exemple Google App Engine + Spring 3 MVC REST

Exemple Google App Engine + Spring 3 MVC REST

Dans ce tutoriel, nous allons vous montrer comment développer et déployer une application WebSpring 3.0 MVC REST dans l'environnement Google App Engine (GAE).

Outils et technologies utilisés:

  1. SDK Java de Google App Engine 1.6.3.1

  2. Printemps 3.1.1

  3. JDK 1.6

  4. Eclipse 3.7 + Plugin Google pour Eclipse

Note
Cet exemple va réutiliser ceSpring 3 MVC REST example, le modifier et l'intégrer à Google App Engine, vous pouvez également être intéressé à lire ceci -GAE + Java + Eclipse example

1. Nouveau projet d'application Web

Dans Eclipse, créez un nouveau projet d'application Web, nommé «SpringMVCGoogleAppEngine».

gae spring new web application

Le «Google Plugin for Eclipse» générera un échantillon de la structure du projet GAE.

2. Dépendances de Spring 3.0

Pour utiliserSpring MVC + REST dans GAE, vous avez besoin des fichiers JAR suivants

  1. aopalliance-1.0.jar

  2. commons-logging-1.1.1.jar

  3. spring-aop-3.1.1.RELEASE.jar

  4. spring-asm-3.1.1.RELEASE.jar

  5. spring-beans-3.1.1.RELEASE.jar

  6. spring-context-3.1.1.RELEASE.jar

  7. spring-context-support-3.1.1.RELEASE.jar

  8. spring-core-3.1.1.RELEASE.jar

  9. spring-expression-3.1.1.RELEASE.jar

  10. spring-web-3.1.1.RELEASE.jar

  11. spring-webmvc-3.1.1.RELEASE.jar

Copiez-le et placez-le dans le dossier «war/WEB-INF/lib».

gae spring dependency library

Ajoutez-le également au chemin de construction de votre projet - faites un clic droit sur le dossier du projet, sélectionnez «Properties». Sélectionnez l'onglet «Java Build Path» → «Libraries», cliquez sur le bouton «Add Jars» et sélectionnez les bocaux ci-dessus.

gae spring java build path

3. Contrôleur de printemps

3.1 Delete auto generated SpringMVCGoogleAppEngineServlet.java, you don’t need this.

3.2 Create a bean, act as controller in REST structure. De plus, DI un message dans la propriété «message».

Fichier: src / com / exemple / MovieController.java

package com.example.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/movie")
public class MovieController {

    //DI via Spring
    String message;

    @RequestMapping(value="/{name}", method = RequestMethod.GET)
    public String getMovie(@PathVariable String name, ModelMap model) {

        model.addAttribute("movie", name);
        model.addAttribute("message", this.message);

        //return to jsp page, configured in mvc-dispatcher-servlet.xml, view resolver
        return "list";

    }

    public void setMessage(String message) {
        this.message = message;
    }

}

4. Pages JSP

Créez une pagelist.jsp, affichez le résultat.

Fichier: war / list.jsp



    

GAE + Spring 3 MVC REST example

Movie : ${movie} , DI message : ${message}

5. Configuration du ressort

Créez un fichier de configuration de bean XML Spring, définissez les beans et visualisez le résolveur.

Fichier: war / WEB-INF / mvc-dispatcher-servlet.xml



    
    
        
    

    

    
    
        
            Hello World
        
    

    
        
            /pages/
        
        
            .jsp
        
    

6. web.xml

Mettez à jourweb.xml, intégrez le framework Spring.

Fichier: war / WEB-INF / web.xml



    
        mvc-dispatcher
        
                    org.springframework.web.servlet.DispatcherServlet
                
        1
    

    
        mvc-dispatcher
        /
    

    
        contextConfigLocation
        /WEB-INF/mvc-dispatcher-servlet.xml
    

    
        
                    org.springframework.web.context.ContextLoaderListener
                
    

    
        index.html
    

7. Structure du répertoire

Vérifiez la structure finale du répertoire.

gae spring final directory structure

8. Exécuter en local

Faites un clic droit sur le projet, exécutez en tant que «Web Application».

gae spring deploy on local development environemnt

9. Déployer sur GAE

Mettez à jour le fichierappengine-web.xml, ajoutez votre ID d'application App Engine.

Fichier: war / WEB-INF / appengine-web.xml


  example-springmvc
  1

  
    
  

Sélectionnez le projet, cliquez sur l'icône Google, «Deploy to App Engine».

gae spring deploy on production environment

Télécharger le code source

En raison de la grande taille du fichier, tous les pots Spring et GAE sont exclus.

Télécharger -SpringMVC-GoogleAppEngine.zip (12 KB)