iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >BeanUtils.copyProperties()参数的赋值顺序说明
  • 607
分享到

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

2024-04-02 19:04:59 607人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

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

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

结果如下:

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: BeanUtils.copyProperties()参数的赋值顺序说明

本文链接: https://www.lsjlt.com/news/134179.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作