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

时间:2024-01-23 21:30:07


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

}

✒️运行结果

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

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

????最后总结

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

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