千家信息网

BeanUtils.copyProperties()参数的赋值顺序实例分析

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容主要讲解"BeanUtils.copyProperties()参数的赋值顺序实例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"BeanUtil
千家信息网最后更新 2025年02月23日BeanUtils.copyProperties()参数的赋值顺序实例分析

本篇内容主要讲解"BeanUtils.copyProperties()参数的赋值顺序实例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"BeanUtils.copyProperties()参数的赋值顺序实例分析"吧!

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

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

    • 用处

    • 案例: 创建一个源类:source

    • 创建一个目标target源类

    • 创建测试类test

    • ignoreProperties参数

    • 案例

    • 案例测试

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.copyProperties(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());    }

结果如下:

到此,相信大家对"BeanUtils.copyProperties()参数的赋值顺序实例分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0