mapstruct-通用类转换方案

本文介绍了MapStruct在Java开发中的使用,作为一种高效的类转换方案,它优于JSON和BeanUtils,同时提供了依赖包的引入和使用方法,包括注解处理器的配置。MapStruct通过编译期生成代码,提高了转换性能,并且在与Lombok结合使用时需要注意版本兼容问题。
摘要由CSDN通过智能技术生成

目录

前言

一、MapStruct的使用

1.1依赖包

1.2使用

二.MapStruct原理

三、MapStruct使用注意事项


前言

       在我们Java开发的过程中不可避免的会遇到需要将一个类转换为另一个类的情况,比如我们从数据中或者别人的接口中查询出来的类转换为我们对外展示所用的视图类。可能有人会说,那直接用返回的类当做视图类不就可以了,还省了转换的步骤和时间。但是如果当返回内容增加或修改时就很容易污染我们的对外视图类,所以类转换也变得不可或缺。下面将展示四种种类转换方式。

类型转换方式一

JSON

CategoryVo categoryVo = JSONObject.parseObject(JSONObject.toJSONString(productCategory), CategoryVo.class);

类型转换方式二

get/set

ProductCategory productCategory=new ProductCategory();
productCategory.setCategoryCode("773");
productCategory.setCategoryName("张三");
CategoryVo categoryVo=new CategoryVo();
categoryVo.setCode(productCategory.getCategoryCode());
categoryVo.setName(productCategory.getCategoryName());

类型转换方式三

BeanUtils

ProductCategory productCategory=new ProductCategory();
productCategory.setCategoryCode("773");
productCategory.setCategoryName("张三");
CategoryVo categoryVo=new CategoryVo();
try {
    BeanUtils.copyProperties(productCategory,categoryVo);
} catch (Exception e) {
    e.printStackTrace();
}

类型转换方式四

        类型转换方式4就是我们的MapStruct下面会详细讲解,先给大家展示一下这四种转换方式的性能比较,如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值