SSM框架搭建过程中遇到的问题记录一下:
springMVC框架中使用@ResponseBody注解将返回值格式化为json的方式:
1,使用springMVC框架提供的 MappingJackson2HttpMessageConverter
2,使用goole的fastjson框架提供的 FastJsonHttpMessageConverter
spring-mvc.xml配置方式:
1,MappingJackson2HttpMessageConverter方式:
<bean id="mappingJacksonHttpMessageConverter"class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="defaultCharset" value="UTF-8"/>
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter" />
</list>
</property>
</bean>
2,FastJsonHttpMessageConverter方式:
<!-- 返回json格式数据 -->
<bean id="jsonConverter"
class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json;charset=UTF-8"/>
<property name="features">
<array value-type="com.alibaba.fastjson.serializer.SerializerFeature">
<value>DisableCircularReferenceDetect</value>
</array>
</property>
</bean>
<!--fastjson循环引用问题-->
<bean id="DisableCircularReferenceDetect"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="staticField"
value="com.alibaba.fastjson.serializer.SerializerFeature.DisableCircularReferenceDetect"></property>
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<!--<ref bean="mappingJacksonHttpMessageConverter"/>-->
<ref bean="jsonConverter"/>
</list>
</property>
</bean>
总结:
第一种方式:
如果springMVC框架版本为4.1及以上,需要导入jackson2.X的jar包:
jackson-annotations-2.4.4.jar、jackson-core-2.4.4.jar、jackson-databind-2.4.4.jar,如果是4.1之前版本可以使用jackson-core-asl-1.8.5.jar和jackson-mapper-asl-1.8.5.jar,erq对于的HttpMessageConverter为 MappingJacksonHttpMessageConverter。
第二种方式:
要考虑到fastjson循环引用问题,依赖的jar包只需要阿里的fastjson就ok了,而且性能上fastjson据说比jackson要快好多。
分享到:
相关推荐
本文将详细介绍如何在SpringMVC中后台转换JSON格式,以解决406错误问题。 406错误通常发生在客户端发送了Accept头,表明它期望接收某种特定类型的数据,但服务器无法提供这种类型的数据。在Ajax请求中,这个Accept...
在Spring MVC中配置和使用Jackson库进行JSON转换通常包括以下几个步骤: 1. **添加依赖**:将`jackson-core-asl.jar`和`Jackson-mapper-asl.jar`添加到项目构建路径或Maven/Gradle的依赖管理中。 2. **配置Spring ...
3. **创建Controller**: 创建一个Spring MVC控制器,使用`@RestController`或`@Controller`注解,并在方法上使用`@ResponseBody`来指示返回值应转换为JSON。例如: ```java @RestController public class ...
在实际开发中,你可能需要创建多个测试场景,覆盖不同的输入和预期输出,以确保JSON转换功能的稳定性和准确性。 总结一下,"springMVC json格式转换demo"涵盖了以下关键点: 1. 引入`spring-web`依赖以支持JSON处理...
该资源为SpringMVC中json转换所需要的Maven仓库,如果maven下载包的时候速度太慢,可以使用我的这个资源,把这个直接考到本地Maven仓库即可。 对应的Maven依赖如下: <groupId>org.codehaus.jackson <artifactId>...
在描述中提到的文件"springmvc-json"可能包含了Spring MVC与JSON交互所需的一些依赖,如Jackson库的jar文件。Jackson库由多个组件组成,主要包括: 1. **Jackson-core**: 这是Jackson库的基础模块,提供了基本的...
在Spring MVC中,将对象...综上所述,Spring MVC结合Jackson库能够方便地处理JSON数据,通过合理的配置和注解使用,可以实现灵活且高效的JSON转换。了解并熟练掌握这些知识点,将有助于开发出更加健壮的RESTful服务。
在这个例子中,`@RequestBody`注解将请求体中的JSON转换为User对象,`@ResponseBody`则将控制器返回的User对象转换为JSON响应。 此外,我们还可以自定义JSON序列化和反序列化的规则,例如忽略某些字段、自定义日期...
- 反序列化:在请求参数或请求体中,Jackson可以帮助我们将JSON字符串转换为Java对象。例如,通过`@RequestBody`注解,我们可以指定将JSON数据映射到方法参数上。 5. **自定义序列化行为**:通过使用Jackson提供的...
你可以在Controller方法中返回一个Java对象,SpringMVC会自动将其转换为JSON响应,或者接收客户端发送的JSON请求,并将其转换为Java对象。 例如,以下是一个简单的SpringMVC Controller示例,展示了如何利用Jackson...
这会将请求体中的JSON数据转换为Java对象,使得我们可以直接在方法参数中使用。 5. **类型转换**:Jackson库使用`@JsonAutoDetect`、`@JsonProperty`等注解来控制序列化和反序列化的行为。例如,`@JsonProperty`...
在SpringMVC中,JSON数据格式转换主要涉及到两个注解:@RequestBody和@ResponseBody。 @RequestBody注解用于读取HTTP请求的内容(字符串),然后通过SpringMVC提供的HttpMessageConverter接口将读到的内容转换为...
在本案例中,"springMVC返回json数据需要的两个架包"指的是`jackson-mapper-asl-1.9.13.jar`和`jackson-core-asl-1.9.13.jar`。 1. Jackson库:这两个jar文件属于Jackson库的一部分,Jackson是Java中广泛使用的JSON...
在IT行业中,SpringMVC和JSON是两个非常重要的技术组件,尤其在开发Web应用程序时。SpringMVC作为Spring框架的一部分,提供了强大的模型-视图-控制器(MVC)架构支持,而JSON则是一种轻量级的数据交换格式,常用于...
- 在Spring MVC的配置文件(如`dispatcher-servlet.xml`或`applicationContext.xml`)中,你需要配置`MessageConverter`来处理JSON转换。默认情况下,Spring MVC会自动配置Jackson的`MappingJackson2...
Spring MVC提供了对JSON的支持,允许我们轻松地将Java对象转换为JSON字符串,反之亦然。这在RESTful API的开发中尤其重要,因为它允许我们以JSON格式返回HTTP响应。 3. **配置JSON支持** 要在Spring MVC中启用...
它提供了`ObjectMapper`类,这是一个强大的工具,能够轻松地进行序列化(将Java对象转换为JSON)和反序列化(将JSON转换回Java对象)。通过`ObjectMapper`,开发者可以自定义序列化和反序列化的规则,如忽略某些字段...
在这个“SpringMVC返回JSON数据相关Jar包”中,包含了支持SpringMVC处理JSON数据所需的关键组件。 首先,我们需要理解SpringMVC如何处理JSON数据。在SpringMVC中,我们使用`@ResponseBody`注解标记在Controller方法...
SpringMVC为开发者提供了便捷的方式,将Java对象转换成JSON或XML视图,使得数据交换更加灵活。本文将详细介绍如何在SpringMVC中集成并使用JSON和XML视图,以及相关的库如json-lib、Jackson、xStream、Jibx和Jaxb2。 ...
在`WebMvcConfigurerAdapter`的子类中,可以重写`configureMessageConverters`方法,添加默认的JSON转换器: ```java @Configuration public class WebConfig implements WebMvcConfigurer { @Override public ...