BeanUtils.copyProperties(source, target)用法

来源:互联网 发布:淘宝云客服多久结工资 编辑:程序博客网 时间:2024/05/29 19:12

BeanUtils.copyProperties(source, target);是spring中的一个方法

顾名思义  copy:复制的意思

Properties:Propertie的复数形式,Propertie属性的意思,复数就是多个属性。

source:源

target:目标

串起来就可以知道这个方法的作用是拷贝源Bean的多个(当然可以一个)属性的值到目标Bean的相同属性中。

例子

1.定义一个Tuser类

public class Tuser implements java.io.Serializable {private String id;private String pwd;private String name;private Integer sex;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getSex() {return sex;}public void setSex(Integer sex) {this.sex = sex;}}


2.定义一个User

public class User implements java.io.Serializable {private String id;private String pwd;private String name;private Integer age;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}}


上面两个类中是不是存在多个属性是相同的

如果我们获取了一个tuser对象,需要把tuser中个属性的值赋给user中,那么当相同属性较少的时候可以直接使用get和set的放发,如果相同属性特别多的时候就需要写很多的get和set方法了,那么,此时就可以使用此方法。

例子如下


public class test1 {User user = new User();user.setId(tuser.getId());user.setPwd(tuser.getPwd());user.setName(tuser.getName());}public class test2 {User user = new User();BeanUtils.copyProperties(tuser, user);}

这两种方法是等同的,这样子是不是可以简写很多代码?

0 0
原创粉丝点击