java开发BeanUtils类解决实体对象间赋值
实体对象之间相互传值,如:VO对象的值赋给Entity对象,是代码中常用功能,如果通过get、set相互赋值,则很麻烦,借助工具类BeanUtils可以轻松地完成操作。
BeanUtils依赖包导入
BeanUtils 是 Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作。使用BeanUtils必须导入相应的jar包,BeanUtils的maven坐标为
commons-beanutils commons-beanutils1.9.4
示例 将前端传来的学生排名信息(StudentVo对象)分别赋给学生对象(StudentEntity)和排名对象(RankingEntity),这三个类代码如下:
@Datapublic class StudentVo {private String sno; private String sname; private Integer ranking; private String schoolTerm; public String toString(){return "studentVo对象的值sno:"+getSno()+" sname:"+getSname()+" ranking:"+getRanking().toString()+" schoolTerm:"+getSchoolTerm(); }}@Datapublic class StudentEntity {private String sno; private String sname; private Integer sage; public String toString(){return "studentEntity对象的值 sno:"+getSno()+" sname:"+getSname()+" sage:"+getSage(); }}@Datapublic class RankingEntity {private String sno; private Integer ranking; private String schoolTerm; public String toString(){return "rankingEntity对象的值 学号:"+getSno()+" 名次:"+getRanking().toString()+" 学期:"+getSchoolTerm(); }}
【java开发BeanUtils类解决实体对象间赋值】将VO对象的值赋给实体对象,通过BeanUtils.copyProperties(目标,源),将源实体对象的数据赋给目标对象,只把属性名相同的数据赋值,目标中的属性如果在源中不存在,给null值,测试代码如下:
public class App {public static void main( String[] args ) throws InvocationTargetException, IllegalAccessException {StudentVo studentVo = new StudentVo(); studentVo.setSno("1"); studentVo.setRanking(20); studentVo.setSname("胡成"); studentVo.setSchoolTerm("第三学期"); System.out.println(studentVo.toString()); StudentEntity studentEntity = new StudentEntity(); BeanUtils.copyProperties(studentEntity,studentVo); System.out.println(studentEntity.toString()); RankingEntity rankingEntity = new RankingEntity(); BeanUtils.copyProperties(rankingEntity,studentVo); System.out.println(rankingEntity.toString()); }}
运行结果:
文章图片
StudentVo 中不存在sage属性,获得studentEntity对象的sage的值为null
以上就是java开发BeanUtils类解决实体对象间赋值的详细内容,更多关于使用BeanUtils工具类解决实体对象间赋值的资料请关注脚本之家其它相关文章!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 深入理解Go之generate
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)