java开发BeanUtils类解决实体对象间赋值

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java开发BeanUtils类解决实体对象间赋值
实体对象之间相互传值,如:VO对象的值赋给Entity对象,是代码中常⽤功能,如果通过get、set相互赋值,则很⿇烦,借助⼯具类BeanUtils可以轻松地完成操作。

BeanUtils依赖包导⼊
BeanUtils 是 Apache commons组件的成员之⼀,主要⽤于简化JavaBean封装数据的操作。

使⽤BeanUtils必须导⼊相应的jar 包,BeanUtils的maven坐标为
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
⽰例
将前端传来的学⽣排名信息(StudentVo对象)分别赋给学⽣对象(StudentEntity)和排名对象(RankingEntity),这三个类代码如下:
@Data
public 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();
}
}
@Data
public class StudentEntity {
private String sno;
private String sname;
private Integer sage;
public String toString(){
return "studentEntity对象的值 sno:"+getSno()+" sname:"+getSname()+" sage:"+getSage();
}
}
@Data
public class RankingEntity {
private String sno;
private Integer ranking;
private String schoolTerm;
public String toString(){
return "rankingEntity对象的值学号:"+getSno()+" 名次:"+getRanking().toString()+" 学期:"+getSchoolTerm();
}
}
将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⼯具类解决实体对象间赋值的资料请关注其它相关⽂章!。

相关文档
最新文档