Spring MVC Exemple d’annotation Hello World

Exemple d'annotation bonjour Spring MVC

Note
Ce tutoriel est basé sur Spring 2.5.6, assez obsolète. Essayez d'envisager les nouveaux didacticiels:

Dans ce tutoriel, nous allons prendre lesSpring MVC hello world XML-based précédents et les convertir en un projetannotation-based.

Technologies utilisées:

  1. Printemps 2.5.6

  2. JDK 1.6

  3. Maven 3

  4. Eclipse 3.6

1. Structure du répertoire

spring2-mvc-annotation-hello-world

2. Maven

L'annotation de Spring est regroupée dans les mêmesspring-webmvc.jar.

pom.xml


    4.0.0
    com.example.common
    spring2-mvc-annotation-hello-world
    war
    1.0-SNAPSHOT
    Spring 2 MVC

    
        1.6
        2.5.6
        1.2
        2.5
    

    

        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        

        
        
            javax.servlet
            jstl
            ${jstl.version}
        

        
        
            javax.servlet
            servlet-api
            ${servletapi.version}
            provided
        

    

    

      
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.3
            
                ${jdk.version}
                ${jdk.version}
            
        

        
            org.eclipse.jetty
            jetty-maven-plugin
            9.2.11.v20150529
            
                10
                
                    /spring2
                
            
        

        
            org.apache.maven.plugins
            maven-eclipse-plugin
            2.9
            
                true
                true
                2.0
                spring2
            
        

      

    

3. Mappage des contrôleurs et des gestionnaires

Maintenant, vous pouvez utiliser@Controller et@RequestMapping pour remplacer la configuration XML.

  1. Controller - La classe de contrôleur n'a plus besoin d'étendre le contrôleur de base commeAbstractController ouSimpleFormController, annotez simplement la classe avec une annotation@Controller.

  2. Handler Mapping - Plus de déclaration pour le mappage de gestionnaire commeBeanNameUrlHandlerMapping,ControllerClassNameHandlerMapping ouSimpleUrlHandlerMapping, tous sont remplacés par une annotation standard@RequestMapping.

HelloWorldController.java

package com.example.common.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/welcome")
public class HelloWorldController{

    @RequestMapping(method = RequestMethod.GET)
    public ModelAndView helloWorld(){

        ModelAndView model = new ModelAndView("HelloWorldPage");
        model.addObject("msg", "hello world");

        return model;
    }
}

Si le@RequestMapping est appliqué au niveau de la classe (peut s'appliquer au niveau de la méthode avecmulti-actions controller), il fallait mettre unRequestMethod pour indiquer quelle méthode traiter la demande de mappage.

Dans ce cas, si un modèle d'URI/welcome est demandé, il mappera vers ceHelloWorldController et traitera la demande avec la méthodehelloWorld().

4. Configuration Spring XML

Vous devez toujours configurer le résolveur de vue et l'analyse des composants dans un fichier XML.

/WEB-INF/spring-mvc-config.xml



    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    

    

5. Page JSP

Une simple page JSP pour la démonstration.

HelloWorldPage.jsp.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>


    

Spring MVC Hello World Annotation Example

${msg}

6. web.xml

web.xml



    Spring Web MVC Application

    
        mvc-dispatcher
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            /WEB-INF/spring-mvc-config.xml
        
        1
    

    
        mvc-dispatcher
        *.htm
    

7. Demo

6.1 To run with the embedded Jetty, type :

$ mvn jetty:run

spring2-mvc-annotation-demo

6.2 To import into Eclipse IDE.

$ mvn eclipse:eclipse

Note
Si vous comparez cet exemple Hello World basé sur les annotations Spring MVC avec les précédentsXML-based example, vous pouvez voir que cette approche d'annotation est plus facile et flexible dans le câblage de la classe de contrôleur et du mappage du gestionnaire d'URL , car vous n'avez pas besoin de déclarer la classe de contrôleur explicitement ou d'étendre une classe particulière.

Télécharger le code source

Téléchargez-le -spring2-mvc-annotation.zip (15 Ko)