BeanUtils.copyProperties()参数的赋值顺序说明

网友投稿 589 2022-12-13

BeanUtils.copyProperties()参数的赋值顺序说明

BeanUtils.copyProperties()参数的赋值顺序说明

目录BeanUtils.copyProperties()参数的赋值顺序BeanUtils.copyProperties初体验,及其参数含义解释用处案例: 创建一个源类:source创建一个目标target源类创建测试类testignoreProperties参数案例案例测试

BeanUtils.copyProperties()参数的赋值顺序

BeanUtils.copyProperties(x,y)有两个不同的jar包,引入不同的包,赋值的顺序不一样。

分别是:

org.springframework.beans.BeanUtils

org.apache.commons.beanutils.BeanUtils

引入 1 的话,是将 x 赋值给 y

引入 2 的话,是将 y 赋值给 x

BeanUtils.copyProperties初体验,及其参数含义解释

用处

BeanUtils.copyProperties是org.springframework.beans.BeanUtils;包下得一个用于对象间得属性赋值,避免了常规操作得一个个get再set属性值,非常好用

案例: 创建一个源类:source

private String username;

private String password;

private String email;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

@Override

public String toString() {

return "book{" +

"username='" + username + '\'' +

", password='" + password + '\'' +

", email='" + email + '\'' +

'}';

}

}

创建一个目标target源类

private String username;

private String password;

private String email;

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

@Override

public String toString() {

return "book{" +

"username='" + username + '\'' +

", password='" + password + '\'' +

", email='" + email + '\'' +

'}';

}

}

创建测试类test

import com.sdqj.system_integration.domain.book;

import com.sdqj.system_integration.domain.book2;

import org.springframework.beans.BeanUtils;

public class test {

public static void main(String[] args) {

book bo=new book();

bo.setEmail("1111");

bo.setPassword("222");

bo.setUsername("333");

book2 bo2=new book2();

BeanUtils.copyProperties(bo,bo2);

System.out.println(bo.toString());

System.out.println(bo2.toString());

}

}

结果展示:

ignoreProperties参数

ignoreProperties参数意思是忽略某个参数,使其不被复制,可写多个被忽略得参数

案例

import com.sdqj.system_integration.domain.book;

import com.sdqj.system_integration.domain.book2;

import org.springframework.beans.BeanUtils;

public class test {

public static void main(String[] args) {

book bo=new book();

bo.setEmail("1111");

bo.setPassword("222");

bo.setUsername("333");

book2 bo2=new book2();

BeanUtils.copyPropehttp://rties(bo,bo2,"username","password");

System.out.println(bo.toString());

System.out.println(bo2.toString());

}

结果展示:

还有源代码中得Class> editable参数,不太了解其中得含义,但只能放target(目标类)

案例测试

public static void main(String[] args) {

book bo=new book();

bo.setEmail("1111");

bo.setPassword("222");

bo.setUsername("333");

book2 bo2=new book2();

BeanUtils.copyProperties(bo,bo2,book2.class);

System.out.println(bo.toString());

System.out.println(bo2.toString());

}

结果如下:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JVM入门之JVM内存结构内容详解
下一篇:Spring Boot如何配置内置Tomcat的maxPostSize值
相关文章

 发表评论

暂时没有评论,来抢沙发吧~