干掉 BeanUtils 这款 Bean 自动映射神器出 Spring 插件了

本文介绍了如何使用MapStruct Spring Extensions插件,该插件简化了Spring中Bean的自动映射,避免手动创建Mapper类。通过实现Converter接口和自定义配置,可以轻松地将Mapstruct映射接口注册到Spring的ConversionService中,同时支持集成Spring的内置转换功能。
摘要由CSDN通过智能技术生成

之前安利过Mapstruct 这个神器,它可以代替BeanUtil来进行DTOVOPO之间的转换。它使用的是Java编译期的  annotation processor 机制,说白了它就是一个代码生成器,代替你手工进行类型转换期间的取值赋值操作。

之前很多项目都使用了它,代码清爽得很,增加了大量摸鱼时间,用过的都说好。

@Mapper(componentModel = "spring")
public interface AreaMapping {

    List<AreaInfoListVO> toVos(List<Area> areas);
}

就这么几行就把一个PO的集合转换成了对应VO的集合。

// spring bean 
@Autowired
AreaMapping areaMapping
    
// 转换源 areas    
List<Area> areas = ……;
// 转换目标 vos 
List<AreaInfoListVO> vos = areaMapping.toVos(areas)

换成你手写试试,起码得五分之一炷香的功夫。

但是这样写还是不太爽,每次都要挂对应的Mapper类。

Converter

Spring framework提供了一个Converter<S,T>接口:

@FunctionalInterface
public interface Converter<S, T> {
    @Nullable
    T convert(S source);

    default <U> Converter<S, U> andT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值