eventsource前台怎么接收一个对象数据_Java开发经验总结篇(1)——数据保存的整洁方法...
生活随笔
收集整理的這篇文章主要介紹了
eventsource前台怎么接收一个对象数据_Java开发经验总结篇(1)——数据保存的整洁方法...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們在做后端開發的時候,最經常做的就是增刪改查,對于數據的增加保存,不管持久層用的是mybatis還是hibernate,如果在一些特別場景下不能使用DTO進行參數傳遞的時候,我們通常都用MAP對數據進行接收然后后臺再封裝對象進行保存,但是在對map里面的參數取值set到對象的時候要對前臺傳參進行空判斷,這時候就會出現很長的一串if...else if......
如下:
if(map.containsKey(key) && !StringUtils.isEmpty(map.get(key)){user.setName(map.get(key));}else if(map.containsKey(key) && !StringUtils.isEmpty(map.get(key)){user.setAddr(map.get(key));}else if(map.containsKey(key) && !StringUtils.isEmpty(map.get(key)){user.setAge(map.get(key));}else if(map.containsKey(key) && !StringUtils.isEmpty(map.get(key)){user.setPhone(map.get(key));}......
這樣看起來代碼就會顯得很臃腫難看。
那么我們可以怎么改造一下呢,這里我給大家介紹的是使用反射的方法來優化,具體做法如下:
- 1、首先抽象出一個反射調用對象set方法的方法
- 2、然后把空判斷也整合到第一步的方法里面去,即在方法一中做空判斷再設值
- 3、最后再方法一內部根據set方法的參數對map的keyval做一下值轉換
如此修改之后,在設置值的地方就可以簡化成一下幾行代碼:
setValueWhenNotNull(srcMap, user, "userName總結
以上是生活随笔為你收集整理的eventsource前台怎么接收一个对象数据_Java开发经验总结篇(1)——数据保存的整洁方法...的全部內容,希望文章能夠幫你解決所遇到的問題。