参考示例之“复制对象|拷贝对象|BeanUtils工具类学习”
// 设置需要拷贝的字段
Set<String> targetSet = new HashSet<>();
targetSet.addAll(Arrays
.asList("totalRefund", "actualAdvertisingCost", "expensesOfTaxation"));
// 调用拷贝方法
copyProperties(combinationIncomeCosts.get(0), resultBeneficiary, targetSet);
将A对象的所有数据拷贝到B对象中
前提:保证两个对象的字段相同,B对象可以比A对象多字段
package org.springframework.beans;
BeanUtils.copyProperties(A, B);
将A对象的部分值数据拷贝到B对象中
这里可以调用方案,排除掉部分不需要的字段
import org.springframework.beans.BeanUtils;
BeanUtils.copyProperties(A, B, 排除的字段[可以数组,列表等]);
还可以优化,只要某些字段
// 设置需要拷贝的字段
Set<String> targetSet = new HashSet<>();
targetSet.addAll(Arrays.asList("totalRefund", "actualAdvertising", "expenses", "compensate"));
// 调用自定义拷贝方案
copyProperties(A, B, targetSet);
/**
* 赋值指定字段值
*
* @param src
* @param target
* @param fieldSet
*/
public static void copyProperties(Object src, Object target, Set<String> fieldSet)
{
// 过滤出所有不要的字段
String[] filteredPropertyNames = Arrays.stream(BeanUtils.getPropertyDescriptors(src.getClass()))
.map(PropertyDescriptor::getName).filter(e -> !fieldSet.contains(e)).toArray(String[]::new);
// 实际上还是调用了排除的方案,将不要的字段加入到排除中
BeanUtils.copyProperties(src, target, filteredPropertyNames);
}
参考示例之“复制对象|拷贝对象|BeanUtils工具类学习”的更多相关文章
- JSON对象与XML相互转换工具类
依赖jar <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId ...
- 第13天 JSTL标签、MVC设计模式、BeanUtils工具类
第13天 JSTL标签.MVC设计模式.BeanUtils工具类 目录 1. JSTL的核心标签库使用必须会使用 1 1.1. c:if标签 1 1.2. c:choos ...
- JavaWeb 之 BeanUtils 工具类
在上一个用户登录案例中,当从浏览器接收参数后,还需要创建 JavaBean 类,对其的属性每一项赋值,如果属性少,可以手动完成,但是当属性非常多,这时就发现非常不方便,在这里提供一个可以封装 Java ...
- BeanUtils 工具类
一.BeanUtils 概述 BeanUtils 是阿帕奇提供的一套专门用于将一些数据封装到java对象中的工具类; 名词:javaBean:特定格式的java类称为java ...
- 利用BeanUtils工具类封装表单数据
一.BeanUtils工具类的使用 1.首先导入BeanUtils工具类的jar包 commons-beanutils-1.8.0.jar commons-logging-1.1.1.jar 2.se ...
- JDBC--使用beanutils工具类操作JavaBean
1.在JavaEE中,Java类的属性通过getter,setter来定义: 2.可使用BeanUtils工具包来操作Java类的属性: --Beanutils是由Apache公司开发,能够方便对Be ...
- 在spring中获取代理对象代理的目标对象工具类
昨天晚上一哥们需要获取代理对象的目标对象,查找了文档发现没有相应的工具类,因此自己写了一个分享给大家.能获取JDK动态代理/CGLIB代理对象代理的目标对象. 问题描述:: 我现在遇到个棘手的问题,要 ...
- 丢弃掉那些BeanUtils工具类吧,MapStruct真香!!!
在前几天的文章<为什么阿里巴巴禁止使用Apache Beanutils进行属性的copy?>中,我曾经对几款属性拷贝的工具类进行了对比. 然后在评论区有些读者反馈说MapStruct才是真 ...
- BeanUtils工具类copyProperties方法缺点及解决
使用类为spring-beans:4.3.13release包中的 org.springframework.beans.BeanUtils BeanUtils.copyProperties(Objec ...
- 把实体bean对象转换成DBObject工具类
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.util ...
随机推荐
- Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could
问题分析及解决方案 问题原因: Mybatis没有找到合适的加载类,其实是大部分spring - datasource - url没有加载成功,分析原因如下所示. DataSourceAutoConf ...
- QT5笔记: 19. QFileSystemModel 联动 QListView QTableView QTreeView
Model 指的是数据 View 指的是界面,View不用设置,只需要和Model进行绑定,绑定完成之后就是Model的格式了 例子:*本例子中QListView QTableView QTreeVi ...
- 用 Emacs 写代码有哪些值得推荐的插件
以下是一些用于 Emacs 写代码的值得推荐的插件: Ido-mode:交互式操作模式,它用列出当前目录所有文件的列表来取代常规的打开文件提示符,能让操作更可视化,快速遍历文件. Smex:可替代普通 ...
- 八米云-ESXi虚拟机安装教程
疑难解答加微信机器人,给它发:进群,会拉你进入八米交流群 机器人微信号:bamibot 简洁版教程访问:https://bbs.8miyun.cn 准备阶段: 八米云启动U盘(制作方法可参看<制 ...
- docker - [15] springboot微服务打包docker镜像
步骤: 1.构建Springboot项目 2.打包应用 3.编写dockerfile 4.构建docker镜像 5.发布运行 一.构建Springboot项目 (1)创建一个SpringBoot(以下 ...
- 寻找旋转排序数组中的最小值 II
地址:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array-ii/ <?php /** 154. 寻找旋转排 ...
- 基于C语言实现UDP服务器
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,适用于对实时性有较高要求的应用场景,如视频流传输.语音通信.在线游戏等.与TCP不同,UDP不保证数据的 ...
- C#通过FTP获取服务端文件
一.简介 实际需求是在前端修改了配置文件后,由上位机统一分发给所有设备,因为下位机支持FTP协议,因此选用FTP来实现文件传输功能. 二.准备工作 1.FTP服务搭建 FTP服务端选用FileZi ...
- 模型蒸馏(Distillation)案例--从DeepSeek-R1-1.5B 到 Qwen-2.5-1.5B 的模型蒸馏
DeepSeek-R1-1.5B 到 Qwen-2.5-1.5B 的模型蒸馏(Distillation) 本文重点进行DeepSeek-R1-1.5B 到 Qwen-2.5-1.5B 的模型蒸馏(Di ...
- 边缘检测及Canny算法
对边缘的直观理解 边缘有助于我们对图像进行语义理解.直观上,边缘发生在图像强度值变化剧烈的地方 如何描述变化?自然是用导数/梯度 如上图,我们对图中的信号在水平方向上求导,可以得到右侧的导数图像,可以 ...