SpringMVC的数据响应-回写数据:返回json格式字符串或对象

不管是返回json格式字符串还是返回一个类型对象或集合,最终的呈现效果都是json格式


返回json格式字符串

步骤一:在pom.xml中导入依赖包

<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.4</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.4</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.4</version>
        </dependency>

步骤二:java代码实现

@RequestMapping("/six")
    @ResponseBody
    public String test6() throws JsonProcessingException {

        User user = new User();
        user.setName("liu");
        user.setAge(12);

        ObjectMapper objectMapper = new ObjectMapper();
        String re = objectMapper.writeValueAsString(user);
        return re;
    }

返回对象或集合

通过SpringMVC帮助我们对对象或集合进行json字符串的转换并回写,为处理器适配器配置消息转换参数,指定使用jackson进行对象或集合的转换,因此需要在spring-mvc.xml中进行如下配置:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
            </list>
        </property>
    </bean>

但是这样配置比较麻烦,配置的代码比较多,因此,我们也可以使用mvc的注解驱动代替上述配置,直接在spring-mvc.xml文件中添加下面代码就行了

<mvc:annotation-driven></mvc:annotation-driven>

记得得在头部的beans中添加

    xmlns:mvc="http://www.springframework.org/schema/mvc"
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd

java代码实现

@RequestMapping("/seven")
    @ResponseBody
    public User test7() {
        User user = new User();
        user.setName("haha");
        user.setAge(13);
        return user;
    }
原文地址:https://www.cnblogs.com/lyd447113735/p/14406216.html