Spring 3 MVCとJSONの例

Spring 3 MVCおよびJSONの例

このチュートリアルでは、Spring MVCフレームワークでJSONデータを出力する方法を示します。

使用される技術:

  1. Spring 3.2.2.RELEASE

  2. ジャクソン1.9.10

  3. JDK 1.6

  4. Eclipse 3.6

  5. メーベン3

_P.S In Spring 3, to output JSON data, just puts Jackson library in the project classpath.
_

1. プロジェクトの依存関係

ジャクソンとスプリングの依存関係を取得します。

pom.xml


    4.0.0
    com.example.common
    SpringMVC
    war
    1.0-SNAPSHOT
    SpringMVC Json Webapp
    http://maven.apache.org

    
        3.2.2.RELEASE
        1.9.10
        1.6
    

    

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

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

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

        
        
            org.codehaus.jackson
            jackson-mapper-asl
            ${jackson.version}
        

    

    
        SpringMVC
        
          
            org.apache.maven.plugins
            maven-eclipse-plugin
            2.9
            
                true
                false
                2.0
            
          
          
            org.apache.maven.plugins
            maven-compiler-plugin
            2.3.2
            
                ${jdk.version}
                ${jdk.version}
            
          
        
    

2. モデル

単純なPOJOは、後でこのオブジェクトをフォーマットされたJSONデータとして出力します。

package com.example.common.model;

public class Shop {

    String name;
    String staffName[];

    //getter and setter methods

}

3. コントローラ

戻り値として@ResponseBodyを追加します。 ウェン・スプリングが見ている

  1. ジャクソンライブラリはプロジェクトクラスパスに存在します

  2. mvc:annotation-drivenが有効になっている

  3. @ResponseBodyアノテーションが付けられた戻りメソッド

SpringはJSON変換を自動的に処理します。

JSONController.java

package com.example.common.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.example.common.model.Shop;

@Controller
@RequestMapping("/kfc/brands")
public class JSONController {

    @RequestMapping(value="{name}", method = RequestMethod.GET)
    public @ResponseBody Shop getShopInJSON(@PathVariable String name) {

        Shop shop = new Shop();
        shop.setName(name);
        shop.setStaffName(new String[]{"example1", "example2"});

        return shop;

    }

}

4. mvc:annotation-driven

Spring構成XMLファイルでmvc:annotation-drivenを有効にします。

mvc-dispatcher-servlet.xml



    

    

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

ダウンロード–SpringMVC-Json-Example.zip(21 KB)