zoukankan      html  css  js  c++  java
  • BeanUtils.copyProperties缓解代码压力,释放双手

    简单描述:之前在写代码的时候,经常把表单提交到后台的对象的参数,通过getter方法取出来,然后,再通过setter方法传递给需要的对象,代码中写了很多get set这种方法,后来听同事说,spring有一个BeanUtils.copyProperties()方法,可以代替我们手动来完成取值赋值的操作。我就试了试,发现果然可以。

    BeanUtils.copyProperties(courseObj, courseVo);//把courseObj里的属性通过反射赋值给courseVo里相同的属性,不同的不赋值   前赋后

    下边是spring 的BeanUtils中copyProperties方法的源码:

    上边注释的意思就是:复制源bean的参数值给目标bean    源Class和目标Class不必相互匹配甚至相互派生彼此(我的理解是不需要有父子继承关系),只要参数匹配就行。任何源bean暴露(拥有)的参数,而目标bean没有的参数都会被忽略。意思就是指复制那些两者都有的参数值给目标对象。这是一个很方便的方法,对于更复杂的转换需求,考虑使用一个完整的BeanWrapper。  嗯嗯,就这样啦。

    真的是省了很多的这种代码 courseVo.setName(courseObj.getName());

    另外 apache也提供有copyProperties()方法,apache的org.apache.commons.beanutils就提供了两种,一个是子包org.apache.commons.beanutils.BeanUtils---->copyProperties() 另一个是子包org.apache.commons.beanutils.PropertyUtils--->copyProperties(),不过需要注意的是这两个方法的参数和spring的参数位置是相反的    copyProperties(target, source)   

  • 相关阅读:
    Oracle 绑定变量窥视
    MongoDB 查看chunk块大小
    Linux 查看实时网卡流量的几种方式
    MongoDB 集合与文档操作
    MongoDB 副本集的常用操作及原理
    MongoDB 副本集主从切换方法
    MongoDB 副本集节点添加与删除
    Linux 硬件软件时间同步
    Linux ntp 时间同步服务配置
    MongoDB oplog详解
  • 原文地址:https://www.cnblogs.com/xuchao0506/p/10172357.html
Copyright © 2011-2022 走看看