Spring MVC4设置使用fastjson作为json解析器,替代jackson

简介:



不论是性能、易用性、特性支持,fastjson都要远好于默认的jackson,所以如果应用程序经常使用ajax进行数据交互,建议用fastjson作为默认解析器,只需要简单配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
< mvc:annotation-driven >
   < mvc:message-converters  register-defaults = "true" >
     < bean  class = "com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter" >  
       < property  name = "supportedMediaTypes"  value = "application/json" />
       <!--设置fastjson特性-->
       < property  name = "features" >
         < array >
           <!--设置null值也要输出,fastjson默认是关闭的-->
           < value >WriteMapNullValue</ value >
           <!--设置使用文本方式输出日期,fastjson默认是long-->
           < value >WriteDateUseDateFormat</ value >
         </ array >
       </ property >
     </ bean >
   </ mvc:message-converters >  
</ mvc:annotation-driven >

然后引入fastjson的包就好了。


附Spring MVC4示例配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<? xml  version = "1.0"  encoding = "UTF-8" ?>
< beans  xmlns = "http://www.springframework.org/schema/beans"
     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
     xmlns:context = "http://www.springframework.org/schema/context"
     xmlns:mvc = "http://www.springframework.org/schema/mvc"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context-4.1.xsd
         http://www.springframework.org/schema/mvc
         http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
 
<!--包扫描-->
< context:component-scan  base-package = "com.rs"  />
 
<!--数据连接池,此处使用c3p0-->
< bean  id = "dataSource"  class = "com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method = "close" >
   < property  name = "driverClass"  value = "com.mysql.jdbc.Driver"  />
   < property  name = "jdbcUrl"  value = "jdbc:mysql://x.x.x.x:3306/test"  />
   < property  name = "user"  value = "USER"  />
   < property  name = "password"  value = "PASS"  />
</ bean
 
<!--配置事务管理器-->
< bean  id = "transactionManager"  class = "org.springframework.jdbc.datasource.DataSourceTransactionManager" >
   < property  name = "dataSource"  ref = "dataSource"  />
</ bean >
 
<!--使用fastjson作为json解析器--> 
< mvc:annotation-driven >
   < mvc:message-converters  register-defaults = "true" >
     < bean  class = "com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter" >  
       < property  name = "supportedMediaTypes"  value = "application/json" />
       < property  name = "features" >
         < array >
           < value >WriteMapNullValue</ value >
           < value >WriteDateUseDateFormat</ value >
         </ array >
       </ property >
     </ bean >
   </ mvc:message-converters >  
</ mvc:annotation-driven >
 
<!--注入JdbcTemplate-->
< bean  id = "jdbc"  class = "org.springframework.jdbc.core.JdbcTemplate" >
   < property  name = "dataSource"  ref = "dataSource"  />
</ bean >
 
<!--配置视图-->
< bean  id = "jspView"  class = "org.springframework.web.servlet.view.InternalResourceViewResolver" >
   < property  name = "prefix"  value = "/WEB-INF/views/"  />
   < property  name = "suffix"  value = ".jsp"  />
</ bean >
 
<!--配置拦截器-->
< mvc:interceptors >
   < mvc:interceptor >
     <!--拦截匹配路径的html和do文件-->
     < mvc:mapping  path = "/*/*.html"  />
     < mvc:mapping  path = "/*/*.do"  />
     <!--放过部分请求-->
     < mvc:exclude-mapping  path = "/home/login.html"  />
     < mvc:exclude-mapping  path = "/home/logout.html"  />
     <!--自定义的拦截器-->
    < bean  class = "com.nids.web.ActionInterceptor"  />
  </ mvc:interceptor >
</ mvc:interceptors >
 
</ beans >





     本文转自 BoyTNT 51CTO博客,原文链接:http://blog.51cto.com/boytnt/1771390,如需转载请自行联系原作者

相关文章
|
23天前
|
XML 存储 Java
Spring重要类解析
Spring重要类解析
20 0
|
25天前
|
JSON JavaScript 前端开发
C++ 智能指针与 JSON 处理:高级编程技巧与常见问题解析
C++ 智能指针与 JSON 处理:高级编程技巧与常见问题解析
255 0
|
21天前
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
44 1
|
7天前
|
XML Java 数据格式
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
17 0
Bean工厂探秘:解析Spring底层工厂体系BeanFactory的神奇之道
|
7天前
|
XML Java 数据格式
从入门到精通:Spring基础注解的全面解析
从入门到精通:Spring基础注解的全面解析
26 2
从入门到精通:Spring基础注解的全面解析
|
7天前
|
Java 数据库 Spring
切面编程的艺术:Spring动态代理解析与实战
切面编程的艺术:Spring动态代理解析与实战
23 0
切面编程的艺术:Spring动态代理解析与实战
|
7天前
|
Java 关系型数据库 MySQL
高级对象装配:解析Spring创建复杂对象的秘诀
高级对象装配:解析Spring创建复杂对象的秘诀
21 0
高级对象装配:解析Spring创建复杂对象的秘诀
|
25天前
|
JSON JavaScript 数据格式
【深入探究C++ JSON库】解析JSON元素的层级管理与遍历手段
【深入探究C++ JSON库】解析JSON元素的层级管理与遍历手段
79 2
|
25天前
|
XML JSON API
深入解析C++ JSON库:nlohmann::json:: parse的内部机制与应用
深入解析C++ JSON库:nlohmann::json:: parse的内部机制与应用
44 0
|
30天前
|
JSON 数据格式
人脸检测解析json的工具类face_test
人脸检测解析json的工具类face_test
13 0

推荐镜像

更多