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

springboot 如何使用jackson來處理實體類

 更新時間:2021年10月19日 10:41:45   作者:前方太黑暗  
這篇文章主要介紹了springboot使用jackson來處理實體類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用jackson來處理實體類

1、常用框架:阿里fastjson,谷歌gson等

在大量數(shù)據(jù)情況下對比性能:

Jackson > fastjson > Gson > Json-lib。

2、在現(xiàn)在的開發(fā)中,會有很多調(diào)用接口的情況

比如前后臺分離采用json格式,或者調(diào)用第三方API等。

小編就以User為例,來講幾個例子:

實體類

user實體

controller

返回結(jié)果

可以看見User整個信息都被暴露出去了,密碼、手機(jī)號、而且生日的格式還是原生的。

如何處理呢?

我們可以使用@JsonIgnore來忽略某個字段

JsonIgnore

使用@JsonFormat來格式化日期

JsonFormat

出于安全考慮,不讓別人猜出我們的實體字段來映射出數(shù)據(jù)庫字段,我們還可以使用

@JsonProperty來起別名

JsonProperty

說這幾個常用的,還有比如@JsonInclude(JsonInclude.Include.NON_NULL)空字段不返回,大家可以問問度娘,百度jackson注解。

Springboot Jackson的操作

有一段時間沒寫博客了,雖然是菜鳥一枚但畢竟總要有東西記錄學(xué)習(xí)的,我相信有志者事竟成。今天在工作中使用Jackson轉(zhuǎn)換了一個javabean,傳到測試服上之后發(fā)現(xiàn)日期少了一天,使用的是@JsonFormat注解。

這里寫了一個簡單的小demo記錄一下

表數(shù)據(jù):

  

實體類屬性:

  

controller層就省略掉了,就是調(diào)用dao進(jìn)行數(shù)據(jù)查詢。  

使用postman請求結(jié)果如下:

  

發(fā)現(xiàn)時間是2018/11/15,但數(shù)據(jù)庫中是2018-11-16,少了一天,原因是在進(jìn)行日期格式化的時候沒有加入要格式化日期的時區(qū),中國的時區(qū)是東八區(qū),

需要加入timezone="GMT+8"

  

再次測試:

  

這次就可以了!

另外還有幾個常用的注解:

  • @JsonIgnore: 在轉(zhuǎn)換的時候忽略該字段;
  • @JsonProperty:將該字段的名稱在轉(zhuǎn)換成json格式后以該名稱顯示;
  • @JsonIgnorePeroperty({"id","name"}):忽略該注解所包含的全部屬性,里面的參數(shù)是一個數(shù)組,會把包含的名稱的全部字段都忽略掉,包括子類;
  • @JsonInclude(Include.NON_EMPTY):在屬性不為空時序列化此字段,對于字符串,即null或空字符串;

用到的暫時就這些了。以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解java數(shù)據(jù)結(jié)構(gòu)與算法之雙鏈表設(shè)計與實現(xiàn)

    詳解java數(shù)據(jù)結(jié)構(gòu)與算法之雙鏈表設(shè)計與實現(xiàn)

    本篇文章主要介紹了詳解java數(shù)據(jù)結(jié)構(gòu)與算法之雙鏈表設(shè)計與實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringBoot工程中Spring Security應(yīng)用實踐記錄流程分析

    SpringBoot工程中Spring Security應(yīng)用實踐記錄流程分析

    Spring Security是一個能夠為基于Spring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。這篇文章主要介紹了SpringBoot工程中Spring Security應(yīng)用實踐,需要的朋友可以參考下
    2021-09-09
  • mysql+spring+mybatis實現(xiàn)數(shù)據(jù)庫讀寫分離的代碼配置

    mysql+spring+mybatis實現(xiàn)數(shù)據(jù)庫讀寫分離的代碼配置

    今天小編就為大家分享一篇關(guān)于mysql+spring+mybatis實現(xiàn)數(shù)據(jù)庫讀寫分離的代碼配置,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • SpringCloud2020整合Nacos-Bootstrap配置不生效的解決

    SpringCloud2020整合Nacos-Bootstrap配置不生效的解決

    這篇文章主要介紹了SpringCloud2020整合Nacos-Bootstrap配置不生效的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java并發(fā)編程之線程池實現(xiàn)原理詳解

    Java并發(fā)編程之線程池實現(xiàn)原理詳解

    池化思想是一種空間換時間的思想,期望使用預(yù)先創(chuàng)建好的對象來減少頻繁創(chuàng)建對象的性能開銷,java中有多種池化思想的應(yīng)用,例如:數(shù)據(jù)庫連接池、線程池等,下面就來具體講講
    2023-05-05
  • 詳解SpringBoot容器的生命周期

    詳解SpringBoot容器的生命周期

    在使用SpringBoot進(jìn)行開發(fā)時,我們經(jīng)常需要對Spring容器的生命周期進(jìn)行了解和掌握,本文將介紹SpringBoot容器的生命周期,包括容器的創(chuàng)建、初始化、銷毀等過程,并提供相應(yīng)的代碼示例
    2023-06-06
  • Mybatis實現(xiàn)分頁的注意點

    Mybatis實現(xiàn)分頁的注意點

    Mybatis提供了強(qiáng)大的分頁攔截實現(xiàn),可以完美的實現(xiàn)分功能。下面小編給大家分享小編在使用攔截器給mybatis進(jìn)行分頁所遇到的問題及注意點,需要的朋友一起看看吧
    2017-07-07
  • SpringBoot中使用tkMapper的方法詳解

    SpringBoot中使用tkMapper的方法詳解

    這篇文章主要介紹了SpringBoot中使用tkMapper的方法詳解
    2022-11-11
  • Java 房屋租賃系統(tǒng)的實現(xiàn)流程

    Java 房屋租賃系統(tǒng)的實現(xiàn)流程

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)一個房屋租賃系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • 淺析java中stringBuilder的用法

    淺析java中stringBuilder的用法

    下面小編就為大家?guī)硪黄獪\析java中stringBuilder的用法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05

最新評論