首页 > 其他分享 >反射对字段赋值2.0

反射对字段赋值2.0

时间:2022-11-29 16:37:37浏览次数:42  
标签:反射 对字段 实体类 field copyProperties 2.0 BeanUtils 赋值

1.使用BeanUtils.copyProperties对变量赋值

2.使用反射功能自定义赋值



1.使用BeanUtils.copyProperties对变量赋值

场景:多个实体类映射到目标实体类,字段没有冗余

需要将映射实体类复制到目标实体类时,公共字段会做copy;

直接使用BeanUtils.copyProperties(source, target)方法即可;

需要注意的是,赋值时所有名称相同的字段都会复制

2.使用反射功能自定义赋值

场景:多个实体类映射到目标实体类,字段有冗余

使用BeanUtils.copyProperties复制就会出现数据覆盖;

如果涉及字段比较多,使用反射对数据赋值比较好

    public void setdata(Target dto,Source result,Class clazz){
        Field[] fields = clazz.getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            try {
                Object value = field.get(result);
                if (!ObjectUtils.isEmpty(value)) {
                    field.set(dto,value);
                }
            } catch (IllegalAccessException e) {
                continue;
            }
        }

    }

标签:反射,对字段,实体类,field,copyProperties,2.0,BeanUtils,赋值
From: https://www.cnblogs.com/yorkiiz/p/16935746.html

相关文章

  • Maven配置ojdbc14-10.2.0.4.0.jar
    对于oralce的jdbc驱动,在maven上搜索到把pom配置复制到pom.xml里进行引用的时候出现下面这种情况<dependency><groupId>com.oracle</groupId><artifactId>ojdb......
  • struts2.0 s标签_小小鸟
    struts2.0s标签1.Struts2页面开发中常用标签使用说明1.1.往action里传值的使用方式:<inputname="userName"type="text"class="input6"size="15">a.userName属性需......
  • Web Client Software Factory 2.0 for VS2008发布了
    模式和实践团队今天发布了WebClientSoftwareFactory2.0forVS2008,下载地址:​​WebClientSoftwareFactory-February2008​​​​WebClientSoftwareFactory......
  • 最大公约数(2.0)+最小公倍数
    大家晚上好呀,今天要给大家解决昨天遗留的问题,就是这个不管我输入啥都是输出第一个然后就是我师兄之前说的血与泪的教训,就是之前他强调了无数次在scanf里两个%d%d间不要用空......
  • Ubuntu 22.04 LTS 安装 0.A.D 实时策略游戏 并汉化
    众所周知,Linux生态中,能玩的正儿八经的大型游戏其实没几个,而0.A.D这个游戏就是这其中之一。这是一个类似于帝国时代的实时策略游戏,开源跨平台,这是其官方网站:https://play0......
  • Spring2.0中文参考手册(中文版) [转自CSDN论坛]
    Spring中文参考手册得到SpringFramework开发团队的直接授权和大力的支持,其目的是在中文世界推广优秀的开源技术。本次翻译活动由满江红开放技术研究组织(​​http://www.re......
  • uniapp引入uView2.0
    引入uVIew组件可以使用uni-app市场插件安装插件即可,也可以使用npm下载安装,不过使用npm需要在pages.json使用easycom属性引用需要的组件类。在uni-app插件市场右上角选择使......
  • # ubuntu 22.04更换阿里源
    sudovim/etc/apt/sources.list按d删除所有行的内容复制替换内容debhttp://mirrors.aliyun.com/ubuntu/jammymainrestricteduniversemultiversedeb-srchttp......
  • 宝宝精刷题笔记 面试题 02.05. 链表求和
    题目描述给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例1:输入......
  • 基于halo搭建博客,替换joe2.0卜算子为51LA
    网站底部统计访客效果改造前改造后简介【卜算子】“卜蒜子”与百度统计谷歌分析等有区别:“卜蒜子”可直接将访问次数显示在您在网页上(也可不显示);对于已经上线一段时间的网......