mapstruct enum,MapStructPlus 1.2.2 版本发布,增加枚举自动转换

科技资讯 投稿 8600 0 评论

mapstruct enum,MapStructPlus 1.2.2 版本发布,增加枚举自动转换

mapstruct enum,当需要进行枚举转换时(例如枚举转换为编码值,或者又编码转换为枚举),可以在目标枚举添加 @AutoEnumMapper 注解,增加该注解后,在任意类型中需要转换该枚举时都可以自动转换。

使用该注解需要注意:当前注解必须有一个可以保证唯一的字段,并在使用当前注解时,将该字段名,添加到注解提供的 value 属性中。

还有就是注解和使用注解的类,要在同一个模块中

例如:

    商品状态枚举(Goods)
@Getter
@AllArgsConstructor
@AutoEnumMapper("state"
public enum GoodsStateEnum {
    ENABLED(1, "启用",
    DISABLED(0, "禁用";

    private final Integer state;
    private final String desc;

}
在当前枚举中添加注解   @AutoEnumMapper,且指定唯一字段为   state。
    商品类(Goods)
@Data
@AutoMapper(target = GoodsVo.class, reverseConvertGenerate = false
public class Goods {

    private GoodsStateEnum state;

}
    商品VO对象(GoodsVo)
@Data
public class GoodsVo {

    private Integer state;

}
    测试类
@Test
public void enumMapTest( {
    final GoodsVo goodsVo = converter.convert(goods, GoodsVo.class;
    System.out.println(goodsVo;
    Assert.equals(goodsVo.getState(, goods.getState(.getState(;

    final Goods goods2 = converter.convert(goodsVo, Goods.class;
    System.out.println(goods2;
    Assert.equals(goods2.getState(, GoodsStateEnum.ENABLED;
}

编程笔记 » mapstruct enum,MapStructPlus 1.2.2 版本发布,增加枚举自动转换

赞同 (44) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽