spring mvc整合fastjosn配置文件

来源:互联网 发布:nginx 密码认证 编辑:程序博客网 时间:2024/04/30 04:41

今天想在自己写的项目里面整合一下阿里的fastjson,可能会有同学问我,为什么不用自带的jackson呢?因为fastjson具备了一些jackson不具备的能力,执行效率相对快一些。

我先贴一下我的spring mvc和fastjson版本。

    <!--版本参数 -->    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <spring.version>4.3.7.RELEASE</spring.version>    </properties>    <dependencies>        <!-- spring依赖 -->        <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>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-aop</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-test</artifactId>            <version>${spring.version}</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-beans</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-orm</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-tx</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context-support</artifactId>            <version>${spring.version}</version>        </dependency>                <!-- fastjson依赖 -->        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>fastjson</artifactId>            <version>1.2.4</version>        </dependency>        </dependencies>

下面是spring mvc的配置文件中,fastjson这一块的配置

    <!-- 开启注解, 对注解映射的支持 -->    <mvc:annotation-driven>              <!--配置@ResponseBody由fastjson解析-->        <mvc:message-converters register-defaults="true"><!--              <bean class="org.springframework.http.converter.StringHttpMessageConverter">                  <property name="supportedMediaTypes" value="text/html;charset=UTF-8" />             </bean> -->             <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">                  <property name="supportedMediaTypes" value="text/html;charset=UTF-8" />                  <property name="features">                    <list>                    <!-- 输出key时是否使用双引号  -->                    <value>QuoteFieldNames</value>                    <!-- 输出值为null的字段 -->                     <value>WriteMapNullValue</value>                    <!-- Boolean字段如果为null,输出为false,而非null -->                    <value>WriteNullBooleanAsFalse</value>                    <!-- 字符类型字段如果为null,输出为"",而非null -->                     <value>WriteNullStringAsEmpty</value>                    </list>                  </property>             </bean>        </mvc:message-converters>       </mvc:annotation-driven>

在上面的配置代码中,我发现了,FastJsonHttpMessageConverter与StringHttpMessageConverter一样,都继承了org.springframework.http.converter.AbstractHttpMessageConverter这个类,而我们设置的supportedMediaTypes这个参数就是从AbstractHttpMessageConverter这里继承的。
这里写图片描述

与StringHttpMessageConverter不同的是,FastJsonHttpMessageConverter里面整合了一些自己的东西,比如上面的features参数,以及默认定义的Charset为UTF8。

学无止境,生生不息。

0 0
原创粉丝点击