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));
}
}
✒️运行结果
????最后总结
????要熟练掌握技巧,一定多多坚持练习:骐骥一跃,不能十步;驽马十驾,功在不舍。