zoukankan      html  css  js  c++  java
  • Spring 3 MVC and JSON example

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
    内部邀请码:C8E245J (不写邀请码,没有现金送)
    国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。 
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------

    老外写的文章真的很易懂!   
    原文地址:http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/

    Published: July 28, 2011 , Updated: July 27, 2011 , Author: mkyong
     
    In Spring 3, you can enable “mvc:annotation-driven” to support object conversion to/from JSON format, if Jackson JSON processor is existed on the project classpath.

    In this tutorial, we show you how to output JSON data from Spring MVC.

    Technologies used :

    Spring 3.0.5.RELEASE
    Jackson 1.7.1
    JDK 1.6
    Eclipse 3.6
    Maven 3


    1. Project Dependencies

    To use JSON in Spring MVC, you need to include Jackson dependency.    

    <properties>
            <spring.version>3.0.5.RELEASE</spring.version>
        </properties>
     
        <dependencies>
     
            <!-- Jackson JSON Mapper -->
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.9</version>
            </dependency>
     
            <!-- Spring 3 dependencies -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
     
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>
     
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
     
        </dependencies>



    2. Model

    A simple POJO, later convert this object into JSON output.

    package com.mkyong.common.model;
     
    public class Shop {
     
        String name;
        String staffName[];
     
        //getter and setter methods
     
    }

     
    3. Controller

    Add “@ResponseBody” in the return value, no much detail in the Spring documentation.

    As i know, when Spring see Jackson library existed on classpath, “mvc:annotation-driven” is enabled. Return method annotated with @ResponseBody.It will handle the JSON conversion automatically.

    package com.mkyong.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.mkyong.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[]{"mkyong1", "mkyong2"});
     
            return shop;
     
        }
     
    }



    4. mvc:annotation-driven

    Enable “mvc:annotation-driven” in your Spring configuration XML file.

    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans     
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context 
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
     
        <context:component-scan base-package="com.mkyong.common.controller" />
     
        <mvc:annotation-driven />
     
    </beans>


    5. Demo

    URL : http://localhost:8080/SpringMVC/rest/kfc/brands/kfc-kampar

    spring mvc and json demo

    Download Source Code

    Download it – SpringMVC-Json-Example.zip (21 KB)

    References

    1. mvc-annotation-driven documentation
    2. High-performance JSON processor
    3. Spring MVC and XML example
  • 相关阅读:
    Hadoop基础(五十四):基于centos搭建Hadoop3.x完全分布式运行模式
    FLINK基础(111): DS算子与窗口(22)窗口 (8) 自定义窗口(3)清理器(EVICTORS)
    FLINK基础(110): DS算子与窗口(21)窗口 (6) 自定义窗口(2)触发器(Triggers)
    FLINK基础(109): DS算子与窗口(20)窗口 (5) 自定义窗口(1) 窗口分配器(window assigners)
    neutron-dhcp-agent
    Firecracker 线程
    kata-containers Compile And Installed
    katacontainer debug
    katka-container搭建
    git切换分支
  • 原文地址:https://www.cnblogs.com/AloneSword/p/3413359.html
Copyright © 2011-2022 走看看