Spring MVC hello world注釈の例

Spring MVC Hello Worldアノテーションの例

Note
このチュートリアルはSpring 2.5.6に基づいており、かなり時代遅れです。 新しいチュートリアルを検討してみてください:

このチュートリアルでは、前のSpring MVC hello world XML-basedを取得し、それをannotation-basedプロジェクトに変換します。

使用される技術:

  1. 春2.5.6

  2. JDK 1.6

  3. メーベン3

  4. Eclipse 3.6

1. ディレクトリ構造

spring2-mvc-annotation-hello-world

2. メーベン

Springのアノテーションは同じspring-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. コントローラーとハンドラーのマッピング

これで、@Controller@RequestMappingを使用してXML構成を置き換えることができます。

  1. Controller –コントローラークラスは、AbstractControllerSimpleFormControllerのようにベースコントローラーを拡張する必要がなくなり、クラスに@Controllerアノテーションを付けるだけです。

  2. Handler MappingBeanNameUrlHandlerMappingControllerClassNameHandlerMappingSimpleUrlHandlerMappingなどのハンドラーマッピングの宣言はなくなり、すべて標準の@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;
    }
}

@RequestMappingがクラスレベルで適用される場合(multi-actions controllerを使用してメソッドレベルで適用できます)、マッピング要求を処理するメソッドを示すためにRequestMethodを配置する必要がありました。

この場合、URIパターン/welcomeが要求されると、このHelloWorldControllerにマップされ、helloWorld()メソッドで要求を処理します。

4. Spring XML設定

ビューリゾルバとコンポーネントスキャンをXMLファイルで設定する必要があります。

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



    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    

    

5. JSPページ

デモンストレーション用のシンプルなJSPページ。

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
このSpring MVCアノテーションベースのhello worldの例を以前のXML-based exampleと比較すると、このアノテーションアプローチは、コントローラークラスとURLハンドラーマッピングの配線においてより簡単で柔軟であることがわかります。 、コントローラークラスを明示的に宣言したり、特定のクラスを拡張したりする必要がないためです。

ソースコードをダウンロード

ダウンロード–spring2-mvc-annotation.zip(15 KB)