亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【金秋打卡】第13天 單表管理功能前后端開發

標簽:
Spring Cloud

课程名称:Spring Cloud+ Vue前后端分离开发企业级在线视频系统

课程章节:第5章 单表管理功能前后端开发

讲师姓名:甲蛙老师

课程内容

增加复制工具类CopyUtil,封装BeanUtils.copyProperties,简化单实体复制和列表复制的代码

课程收获

虽然CopyUtil工具类是封装了BeanUtils.copyProperties,但是BeanUtils.copyProperties只支持“单个对象”的复制,如果有List或Map这种多个对象组成的“复合结构”就只能使用循环从而产生额外的很多代码,看起来很不方便,所以使用一个工具类将其封装,提高代码可读性。

public class CopyUtil {

   
public static <T> List<T> copyList(List source, Class<T> clazz) {
       
List<T> target = new ArrayList<>();
       
if (!CollectionUtils.isEmpty(source)) {

           
for (Object c : source) {
               
T obj = copy(c, clazz);
               
target.add(obj);
            }
        }
       
return target;
    }

   
public static <T> T copy(Object source, Class<T> clazz) {
       
if (source == null) {
           
return null;
        }
       
T obj = null;
       
try {
           
obj = clazz.newInstance();
        }
catch (Exception e) {
            e.printStackTrace();
        }
       
BeanUtils.copyProperties(source, obj);
       
return obj;
    }
}

利用反射机制,将需要复制的对象复制到实例化的对象中,并对其返回。而单个对象时,可以直接调用copy方法,增加可读性。

https://img1.sycdn.imooc.com//63661d110001fbf416000873.jpg


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消