您的位置:首页 > 运维架构

BeanUtils.copyProperties(source, target)用法

2015-10-28 10:12 555 查看
http://m.blog.csdn.net/blog/huangzirong822/20055645

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);
}

这两种方法是等同的,这样子是不是可以简写很多代码?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: