欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot整合FastJson過程解析

 更新時間:2019年10月29日 11:07:11   作者:天宇軒-王  
這篇文章主要介紹了SpringBoot整合FastJson過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了SpringBoot整合FastJson過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、Maven依賴

   <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.33</version>
    </dependency>

二、配置類

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
  /**
   * 使用fastjson代替jackson
   *
   * @param
   */
​
  @Override
  public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    configurer.enable();
  }
​
  @Override
​
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
​
  /*
   先把JackSon的消息轉(zhuǎn)換器刪除.
   備注: (1)源碼分析可知,返回json的過程為:
        Controller調(diào)用結(jié)束后返回一個數(shù)據(jù)對象,for循環(huán)遍歷conventers,找到支持application/json的HttpMessageConverter,然后將返回的數(shù)據(jù)序列化成json。
        具體參考org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor的writeWithMessageConverters方法
      (2)由于是list結(jié)構(gòu),我們添加的fastjson在最后。因此必須要將jackson的轉(zhuǎn)換器刪除,不然會先匹配上jackson,導致沒使用fastjson
​
  */
    for (int i = converters.size() - 1; i >= 0; i--) {
      if (converters.get(i) instanceof MappingJackson2HttpMessageConverter) {
        converters.remove(i);
      }
    }
    FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
    //自定義fastjson配置
    FastJsonConfig config = new FastJsonConfig();
    config.setSerializerFeatures(
        SerializerFeature.WriteMapNullValue,    // 是否輸出值為null的字段,默認為false,我們將它打開
        SerializerFeature.WriteNullListAsEmpty,   // 將Collection類型字段的字段空值輸出為[]
        SerializerFeature.WriteNullStringAsEmpty,  // 將字符串類型字段的空值輸出為空字符串
        SerializerFeature.WriteNullNumberAsZero,  // 將數(shù)值類型字段的空值輸出為0
        SerializerFeature.WriteDateUseDateFormat,
        SerializerFeature.DisableCircularReferenceDetect  // 禁用循環(huán)引用
​
    );
​
    fastJsonHttpMessageConverter.setFastJsonConfig(config);
​
    // 添加支持的MediaTypes;不添加時默認為*/*,也就是默認支持全部
​
    // 但是MappingJackson2HttpMessageConverter里面支持的MediaTypes為application/json
​
​
    List<MediaType> fastMediaTypes = new ArrayList<>();
    MediaType mediaType = MediaType.parseMediaType("text/html;charset=UTF-8");
    fastMediaTypes.add(mediaType);
    fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
    fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
    // fastJsonHttpMessageConverter.setDefaultCharset(Charset.forName("UTF-8"));
    converters.add(fastJsonHttpMessageConverter);
  }
}

三、使用

@JSONField(serialize=false)
private String delFlag;  // 數(shù)據(jù)刪除標記, 0-已刪除 1-有效

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 實現(xiàn)分布式服務(wù)的調(diào)用鏈跟蹤

    Java 實現(xiàn)分布式服務(wù)的調(diào)用鏈跟蹤

    分布式服務(wù)中完成某一個業(yè)務(wù)動作,需要服務(wù)之間的相互協(xié)作才能完成,在這一次動作引起的多服務(wù)的聯(lián)動我們需要用1個唯一標識關(guān)聯(lián)起來,關(guān)聯(lián)起來就是調(diào)用鏈的跟蹤。本文介紹了Java 實現(xiàn)分布式服務(wù)的調(diào)用鏈跟蹤的步驟
    2021-06-06
  • 解決Spring?Security升級到5.5.7、5.6.4及以上啟動報錯出現(xiàn)版本不兼容的問題

    解決Spring?Security升級到5.5.7、5.6.4及以上啟動報錯出現(xiàn)版本不兼容的問題

    這篇文章主要介紹了解決Spring?Security升級到5.5.7、5.6.4及以上啟動報錯出現(xiàn)版本不兼容的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • SpringBoot3.1.2 引入Swagger報錯Type javax.servlet.http.HttpServletRequest not present解決辦法

    SpringBoot3.1.2 引入Swagger報錯Type javax.servlet.http

    這篇文章主要介紹了SpringBoot3.1.2 引入Swagger報錯Type javax.servlet.http.HttpServletRequest not present解決辦法,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • java數(shù)字和中文算數(shù)驗證碼的實現(xiàn)

    java數(shù)字和中文算數(shù)驗證碼的實現(xiàn)

    這篇文章主要介紹了java數(shù)字和中文算數(shù)驗證碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • mybatis如何使用注解實現(xiàn)一對多關(guān)聯(lián)查詢

    mybatis如何使用注解實現(xiàn)一對多關(guān)聯(lián)查詢

    這篇文章主要介紹了mybatis如何使用注解實現(xiàn)一對多關(guān)聯(lián)查詢的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 通過Java實現(xiàn)獲取表的自增主鍵值

    通過Java實現(xiàn)獲取表的自增主鍵值

    這篇文章主要為大家詳細介紹了如何通過Java實現(xiàn)獲取表的自增主鍵值,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的可以了解一下
    2023-06-06
  • Java詳解實現(xiàn)多線程的四種方式總結(jié)

    Java詳解實現(xiàn)多線程的四種方式總結(jié)

    哈哈!經(jīng)過一個階段的學習,Java基礎(chǔ)知識學習終于到多線程了!Java多線程以及后面互斥鎖的概念都是Java基礎(chǔ)學習的難點,所以我做了一個總結(jié),希望對大家也有幫助
    2022-07-07
  • oracle數(shù)據(jù)庫導入TXT文件方法介紹

    oracle數(shù)據(jù)庫導入TXT文件方法介紹

    這篇文章主要介紹了oracle數(shù)據(jù)庫導入TXT文件方法介紹,文中向大家展示了具體代碼示例,需要的朋友可以參考下。
    2017-09-09
  • log4j2 自動刪除過期日志文件的配置及實現(xiàn)原理

    log4j2 自動刪除過期日志文件的配置及實現(xiàn)原理

    這篇文章主要介紹了log4j2 自動刪除過期日志文件配置及實現(xiàn)原理解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 一文徹底掌握RocketMQ 的存儲模型

    一文徹底掌握RocketMQ 的存儲模型

    這篇文章主要介紹了RocketMQ 的存儲模型,本文的重點在于分析 BrokerServer 的消息存儲模型,筆者按照自己的理解 , 嘗試分析 RocketMQ 的存儲模型,需要的朋友可以參考下
    2022-12-12

最新評論