亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

springboot~ObjectMapper~dto到entity的自動賦值

2024-07-14 08:41:53
字體:
來源:轉載
供稿:網友

實體與Dto自動賦值

在開發的過程中,實體之間相互賦值是很正常的事,但是我們一般的方法都通過set和get方法來進行的,如果要賦值的字段少那還行,但是需要賦值的字段超過10個,那就是個災難,你會看到整屏代碼中全是set和get方法。

  1. 兩個實體屬性字段幾乎完全相同
  2. 兩個字體有部分字段相同
  3. 源實體只有部分字段賦值,目標實體有完整的值

第一種情況

對于第1點來說,我們用到最多的就是entity和dto之間的轉換了,這個我們可以使用Spring的工具類BeanUtils來解決,這里要注意的一點是,==第一個參數是源,第二個參數是目標==。

import org.springframework.beans.BeanUtils;BeanUtils.copyProperties(origin, target);

第二種情況

但是對于第2點來說,就沒有那么簡單了,再使用BeanUtils已經不能滿足我們的需要了。
我們可以使用jackson的ObjectMapper

import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.ObjectReader;import com.jd.fastjson.JSON;ObjectMapper objectMapper = new ObjectMapper();//配置該objectMapper在反序列化時,忽略目標對象沒有的屬性。凡是使用該objectMapper反序列化時,都會擁有該特性。objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);//讀入需要更新的目標實體ObjectReader objectReader = objectMapper.readerForUpdating(target);//將源實體的值賦值到目標實體上objectReader.readValue(JSON.toJSONString(source));

我們總結一下objectMapper的過濾參數:

 /* 通過該方法對mapper對象進行設置,所有序列化的對象都將按改規則進行系列化 Include.Include.ALWAYS 默認 Include.NON_DEFAULT 屬性為默認值不序列化 Include.NON_EMPTY 屬性為 空(“”) 或者為 NULL 都不序列化 Include.NON_NULL 屬性為NULL 不序列化 */  objectMapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT);  String outJson = objectMapper.writeValueAsString(productDetail);//上面代碼里,outJson的值將會過濾掉只有默認值的屬性

第三種情況

本情況主要對于從dto到entity轉換過程中出現 ,比如一個put操作,前端可能只修改某幾個屬性,而在后端處理時也只希望處理這幾個被賦值的屬性,這時我們使用下面的方法:

 @RequestMapping(value = "/{id}", method = RequestMethod.PUT) public HttpEntity update(@PathVariable int id, @RequestBody ProductDetail productDetail)   throws IOException {  ProductDetail existing = repository.findById(id).get();  objectMapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT);  String outJson = objectMapper.writeValueAsString(productDetail);  ObjectReader objectReader = objectMapper.readerForUpdating(existing);  objectReader.readValue(outJson);  repository.save(existing);  return new ResponseEntity<>(existing, HttpStatus.ACCEPTED); }

通過objectMapper的使用,確實讓我們少寫很多重復的代碼。

總結

以上所述是小編給大家介紹的springboot~ObjectMapper~dto到entity的自動賦值,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品自产拍高潮在线观看| 亚洲日本成人女熟在线观看| 国产精品69精品一区二区三区| 91色中文字幕| 国产精品久久77777| 久久久久久久久爱| 亚洲久久久久久久久久| 亚洲福利视频久久| 国产亚洲精品久久久优势| 亚洲精品99久久久久| 91夜夜揉人人捏人人添红杏| 性色av香蕉一区二区| 亚洲国产免费av| 中文在线资源观看视频网站免费不卡| 国产精品毛片a∨一区二区三区|国| 成人国产在线视频| 欧美亚州一区二区三区| 日韩av色综合| 北条麻妃一区二区三区中文字幕| 黄色一区二区在线| 日本久久91av| 韩国精品久久久999| 欧美激情成人在线视频| 欧美黑人极品猛少妇色xxxxx| 久久免费视频这里只有精品| 欧美日本精品在线| 欧美日韩激情视频8区| 成人福利在线观看| 日韩欧美国产黄色| 亚洲片av在线| 国产视频精品一区二区三区| 九九热最新视频//这里只有精品| 久久精品视频中文字幕| 日韩欧美亚洲范冰冰与中字| 97在线精品视频| 97在线看福利| 亲子乱一区二区三区电影| 日韩中文字幕免费看| 国产日韩欧美在线视频观看| 欧美电影《睫毛膏》| 欧美精品激情在线观看| 亚洲激情在线视频| 亚洲成人动漫在线播放| 成年人精品视频| 久久国产精品首页| 国产日韩欧美一二三区| 欧美一区三区三区高中清蜜桃| 欧美一级淫片播放口| 日韩免费黄色av| 欧美激情免费视频| 欧美色另类天堂2015| 45www国产精品网站| 精品久久久在线观看| 色综合色综合久久综合频道88| 国产精品xxxxx| 亚洲天堂av在线免费观看| 韩国19禁主播vip福利视频| 懂色av影视一区二区三区| 亚洲欧美日韩爽爽影院| 97久久精品人人澡人人爽缅北| 日本高清不卡的在线| 日韩精品在线免费播放| 国产精品亚发布| 国产日韩在线看片| 91精品国产91久久久久久吃药| 日韩在线观看视频免费| 韩国精品久久久999| 欧美日韩视频免费播放| 日韩av大片在线| 日韩av网址在线观看| 欧洲亚洲免费在线| 成人精品视频久久久久| 精品magnet| 成人免费网站在线观看| 欧美老女人性生活| 日韩欧美一区二区在线| 欧美黑人性猛交| 国产精品永久免费视频| 国产精品678| 91沈先生在线观看| 亚洲欧美一区二区精品久久久| 92看片淫黄大片欧美看国产片| 丝袜美腿亚洲一区二区| 97视频免费在线看| 8x拔播拔播x8国产精品| 91久久久久久| 成人在线精品视频| 97超级碰碰碰| www.美女亚洲精品| 国产成人精品久久| 亚洲美女视频网| 97久久超碰福利国产精品…| 国产欧美在线看| 日韩国产高清视频在线| 国产精品电影久久久久电影网| 亚洲午夜久久久久久久| 国产精品久久久久久久久久久不卡| 在线电影av不卡网址| 久国内精品在线| 久久99热精品这里久久精品| 亚洲成**性毛茸茸| 91av视频在线观看| 亚洲a级在线播放观看| 久久久精品国产| 国产精品入口夜色视频大尺度| 欧美日韩在线影院| 一个人看的www欧美| 日韩美女视频免费看| 午夜精品久久久久久久99热| 成人免费xxxxx在线观看| 久久久久一本一区二区青青蜜月| 国产精品视频免费观看www| 欧美成人中文字幕在线| 亚洲精品欧美极品| 在线国产精品播放| 亚洲人av在线影院| 热久久美女精品天天吊色| 亚洲无av在线中文字幕| 中文字幕少妇一区二区三区| 国产精品av免费在线观看| 欧美性猛交xxxx乱大交| 国产精品欧美激情在线播放| 91视频-88av| 北条麻妃一区二区在线观看| 欧美亚洲视频在线观看| 91中文字幕一区| 最近2019年中文视频免费在线观看| 亚洲女同精品视频| 亚洲欧美在线看| 精品精品国产国产自在线| 久久久精品欧美| 亲爱的老师9免费观看全集电视剧| 国产97在线|日韩| 欧美插天视频在线播放| 欧美最猛性xxxxx亚洲精品| 久久91超碰青草是什么| 亚洲激情在线视频| 精品一区二区三区三区| 国产成人综合精品在线| 日韩中文字幕久久| 国产91色在线免费| 日韩激情av在线免费观看| 欧美猛男性生活免费| 国产国语刺激对白av不卡| 日韩免费在线看| 精品久久久久国产| 成人免费观看49www在线观看| 午夜精品久久久久久99热软件| 亚洲欧美另类人妖| 欧美国产亚洲视频| 亚洲的天堂在线中文字幕| 国产精品影院在线观看| 久久精品99国产精品酒店日本| 亚洲综合精品一区二区| 海角国产乱辈乱精品视频| 不卡毛片在线看| 日韩专区在线播放| 国产日韩亚洲欧美| 97香蕉超级碰碰久久免费的优势| 日韩欧美精品免费在线| 国产高清视频一区三区| 久久亚洲欧美日韩精品专区| 日韩电影免费观看在线| 欧美性生交大片免网|