BeanUtils.populate将map对象转换成vo对象

news2024/11/27 7:36:21

文章目录

    • BeanUtils.populate将map对象转换成vo对象
    • 📖1.添加依赖
    • 📒代码
    • ✒️运行结果
    • 🖲最后总结

BeanUtils.populate将map对象转换成vo对象

📖1.添加依赖

<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.3</version>
</dependency>

📒代码

商品vo 图片vo

package com.example.helloworld.entity;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Set;

/**
 * 商品dto
 *
 * @author woniu
 */
@Data
public class ProductDto {

    /**
     * 商品编码
     */
    private String productCode;

    /**
     * 客户编码
     */
    private String customerCode;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 评分
     */
    private BigDecimal score;

    /**
     * 图片
     */
    private Set<ProductImageDto> images;

}

package com.example.helloworld.entity;

import lombok.Data;


/**
 * 商品图片信息
 *
 * @author woniu
 */
@Data
public class ProductImageDto {


    /**
     * 相对路径
     */
    private String path;

    /**
     * 文件名
     */
    private String fileName;



}

测试类

package com.example.helloworld;

import com.alibaba.fastjson.JSON;
import com.example.helloworld.entity.ProductDto;
import org.apache.commons.beanutils.BeanUtils;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

@SpringBootTest
class HelloWorldApplicationTests {

    @Test
    void contextLoads() {
        Map<String,Object> map = new HashMap<>();
        ProductDto dto = new ProductDto();
        map.put("productCode","13");
        map.put("customerCode","12");
        map.put("customerName","14");
        map.put("score",new BigDecimal(1));
        try {
            //将map对象封装成Vo对象
            BeanUtils.populate(dto, map);
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("出现错误");
        }
        System.out.println(JSON.toJSONString(dto));
    }

}

✒️运行结果

image-20231129114620199

image-20231129115905084

🖲最后总结

🖲要熟练掌握技巧,一定多多坚持练习:骐骥一跃,不能十步;驽马十驾,功在不舍

搞笑点赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1267119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云服务器同时连接数突然变高是什么原因

​  云服务器同时连接数突然变高&#xff0c;导致服务器负载增加&#xff0c;响应时间变长&#xff0c;严重影响了网站的正常运营。为了解决这个问题&#xff0c;我们首先需要了解 云服务器同时连接数变高的原因。 一、网络攻击 网络攻击是导致云服务器同时连接数突然变高的一…

2022年土地出让数据,超多字段,附数据可视化

分享一个土地出让数据&#xff0c;详细信息如下&#xff1a; 数据名称: 2022年土地出让数据 数据格式: Shp、excel 数据时间: 2022年 数据几何类型: 点 数据坐标系: WGS84坐标系 数据来源&#xff1a;网络公开数据 部分字段如下&#xff1a; 如需获取可搜“吧唧数…

【EI会议征稿】第四届应用数学、建模与智能计算国际学术会议(CAMMIC 2024)

第四届应用数学、建模与智能计算国际学术会议&#xff08;CAMMIC 2024&#xff09; 2024 4th International Conference on Applied Mathematics, Modelling and Intelligent Computing 第四届应用数学、建模与智能计算国际学术会议&#xff08;CAMMIC 2024&#xff09;将于…

docker (简介、dcoker详细安装步骤、容器常用命令)一站打包- day01

一、 为什么出现 Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build&#xff0c;Ship and Run Any App,Anywhere”&#xff0c;也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理&#xff0c;使用户的APP&#xff08;可以是一个WEB应用或数据库应…

基于社区电商的Redis缓存架构-缓存数据库双写、高并发场景下优化

基于社区电商的Redis缓存架构 首先来讲一下 Feed 流的含义&#xff1a; Feed 流指的是当我们进入 APP 之后&#xff0c;APP 要做一个 Feed 行为&#xff0c;即主动的在 APP 内提供各种各样的内容给我们 在电商 APP 首页&#xff0c;不停在首页向下拉&#xff0c;那么每次拉的…

炸裂:completablefuture自定义线程池慢2倍......比默认线程池......

尼恩说在前面 尼恩社群中&#xff0c;很多小伙伴找尼恩来卷3高技术&#xff0c;学习3高架构&#xff0c;遇到问题&#xff0c;常常找尼恩反馈和帮扶。 周一&#xff0c;一个5年经验的大厂小伙伴&#xff0c;反馈了一个令人震惊的问题 completablefuture自定义线程池慢2倍…比…

C# Socket通信从入门到精通(12)——多个同步UDP客户端C#代码实现

前言: 我们在开发Udp客户端程序的时候,有时候在同一个软件上我们要连接多个服务器,这时候我们开发的一个客户端就不够使用了,这时候就需要我们开发出来的软件要支持连接多个服务器,最好是数量没有限制,这样我们就能应对任意数量的服务器连接,由于我们开发的Udp客户端程…

如何使用阿里云国际站虚拟主机搭建网站

阿里云虚拟主机是一款灵活易用的产品&#xff0c;允许您使用 FTP 构建或传输网站。它支持各种各样的 Web 构建器&#xff0c;非常适合各种应用程序&#xff0c;从个人博客到电子商务网站。 本教程介绍如何通过几个简单的步骤使用阿里云虚拟主机构建网站。 先决条件 您需要安…

VUE本地idea启动

安装yarn&#xff08;也可以用npm&#xff09; 问题&#xff1a;yarn : 无法加载文件 C:\Users\xx/yarn.ps1&#xff0c;因为在此系统上禁止运行脚本 解决办法&#xff1a;管理员身份运行【 PowerShell】&#xff0c;然后执行【Set-ExecutionPolicy RemoteSigned】&#xff0c…

C++基础 -11- 类的析构函数

析构用于释放构造函数中初始化的数据成员 析构不能重载 析构函数格式 #include "iostream"using namespace std;extern "C" { #include "string.h" }class rlxy {public:int a;rlxy(int a, int b, const char *c){this->c new char[1024];…

uniapp开发App从开发到上架全过程

​ 当我们的APP开发完毕&#xff0c;最终交付的时候&#xff0c;必然要经历的一个环节&#xff0c;就是APP上架&#xff0c;国内APP上架一般为IOS端appstore上架&#xff0c;安卓端应用商店比较多&#xff0c;最常见的应用商店有华为应用商店、小米应用商店、OPPO应用商店、VIV…

CRM系统的数据分析和报表功能对企业重要吗?

竞争日益激烈&#xff0c;企业需要更加高效地管理客户关系&#xff0c;以获取更多的商机。为此&#xff0c;许多企业选择使用CRM系统。在CRM中&#xff0c;数据分析功能扮演着重要的角色。下面就来详细说说&#xff0c;CRM系统数据分析与报表功能对企业来说重要吗&#xff1f; …

超声波雪量传感器冬季气象监测助手

在冬季&#xff0c;雪量的监测对于人们的生活和农业生产都具有重要的意义。而WX-XL2超声波雪量传感器&#xff0c;作为近年来一种气象监测设备&#xff0c;以其优势和广泛的应用场景&#xff0c;引起了人们的广泛关注。 一、超声波雪量传感器的工作原理 超声波雪量传感器是一…

数据结构之二叉树与堆以及力扣刷题函数扩展

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力 目录 1.前言 2.树 2.1概念 2.2树的相关概念 3.…

MyBatis使用教程详解<上>

一. 什么是MyBatis? Mybatis是一个持久层框架,用于简化JDBC的操作MyBatis原本是Apache的一个开源项目ibatis,后来更名为MyBatis 上面我们提到了一个概念----持久层 不知道小伙伴们有没有想到五大注解的关系,类似于下图 其中MyBatis就是Mapper层的框架,是基于JDBC的封装,可以帮…

华为服务器驱动及固件下载步骤

1. 打开官网技术支持页面 https://support.xfusion.com/support/#/zh/home 2.页面往下来&#xff0c; 选择【FusionServer iDriver】 3. 选择最新版本 4. 选择对应的型号及版本

『 MySQL数据库 』插入查询结果

文章目录 &#x1f39f;️ 前言&#x1f39f;️ 创建一张结构相同的表&#x1f39f;️ 表内插入查询结果&#x1f3ab; 对表内数据进行去重&#x1f3ab; 配合ORDER BY排序后以及LIMIT分页对数据进行插入 &#x1f39f;️ 前言 在MySQL数据库中不仅可以直接根据字段类型等对数据…

企业宣传画册用什么工具制作,不用下载软件,在线就能搞定!

企业宣传册是一种常见的营销工具&#xff0c;可以有效地展示企业或产品的特点和优势&#xff0c;吸引客户的注意力。企业宣传画册有这么多优势&#xff0c;如何制作呢&#xff1f;用什么工具制作呢&#xff1f;这可难倒了不少人。 有人可能会说&#xff0c;找专业的设计公司交…

微信小程序如何获取用户手机号码?

需求 在开发一款微信小程序时&#xff0c;通常需要用户进行微信登录&#xff0c;并获取用户的手机号码作为用户的唯一标识&#xff08;userId&#xff09;。虽然可以通过wx.login来获取用户的openid&#xff0c;但有时候需要获取用户的手机号码以提供更完善的个性化服务&#…

常见的6种工业主板盘点

无论您涉及哪种类型的工业环境&#xff0c;主板都是所有电子元件的关键部件之一。可靠且高效的主板是任何功能系统的核心和灵魂。 不同的主板旨在满足不同的需求&#xff0c;如果您希望系统发挥最佳性能&#xff0c;则必须了解这些需求。本文提供了有关当今流行的6种工业主板的…