MapStructPlus 1.3.6 发布,支持内部类转换和继承 AutoMapping 配置等特性
MapStruct Plus 是 MapStruct 的增强工具,在 Mapstruct 的基础上,实现了自动生成 Mapper 接口的功能,并强化了部分功能,使 Java 类型转换更加便捷、优雅。
更新日志
-
兼容内部类转换
示例:
@Data @AutoMapper(target = Car.InnerClass.class) public class InnerClassTarget { private String f; } @Data public class Car { @Data public static class InnerClass { private String f; } } @Test public void innerClassTest() { Car.InnerClass innerClass = new Car.InnerClass(); innerClass.setF("1111"); InnerClassTarget innerClassTarget = converter.convert(innerClass, InnerClassTarget.class); Assert.equals(innerClassTarget.getF(), "1111"); System.out.println(innerClassTarget); Car.InnerClass innerClass1 = converter.convert(innerClassTarget, Car.InnerClass.class); Assert.equals(innerClass1.getF(), "1111"); System.out.println(innerClass1); }
-
feature : AutoMapping 注解中的 targetClass 支持配置父类
AutoMapping
注解中的targetClass
支持配置父类,当目标类是该配置的子类时,即可应用该规则。 -
issue#I8T7EF : 支持在父类中配置的 AutoMapping 注解
之前的版本中,在父类中配置的 AutoMapping 注解,并不会生效,在该版本中,解决了这个问题。
示例:
-
PDto
@Data public class PDto { @AutoMapping(targetClass = PVO.class, expression = "java(source.getSuccess() ? 1 : 0)") private Boolean success; }
-
PVO
@Data public class PVO { @AutoMapping(targetClass = PDto.class, expression = "java(source.getSuccess().equals(1) ? true : false)") private Integer success; }
-
SDto
@Data @ToString(callSuper = true) @AutoMapper(target = SVO.class) public class SDto extends PDto { private Long id; }
-
SVO
@Data @ToString(callSuper = true) @AutoMapper(target = SDto.class) public class SVO extends PVO { private Long id; }
-
测试
@Test public void extendTest() { SDto sDto = new SDto(); sDto.setId(111111L); sDto.setSuccess(true); SVO svo = converter.convert(sDto, SVO.class); Assert.equals(svo.getId(), sDto.getId()); Assert.equals(svo.getSuccess(), 1); System.out.println(svo); SDto sDto1 = converter.convert(svo, SDto.class); Assert.equals(sDto1.getId(), sDto.getId()); Assert.equals(sDto1.getSuccess(), sDto.getSuccess()); System.out.println(sDto1); }
-
-
issue#I8QPRO : 框架自动生成的 AutoMapperConfig 和 AutoMapMapper 包和类名支持配置
增加了三个配置项,支持注解配置和启动参数配置:
-
autoConfigPackage
:MapStructPlus 框架自动生成的配置类 ---AutoMapperConfig
/AutoMapMapperConfig
所在的包路径 -
autoMapperConfigClassName
:MapStructPlus 框架自动生成的的配置类(配置对象之间的转换)类名 -
autoMapMapperConfigClassName
:MapStructPlus 框架自动生成的配置类(配置Map与对象之间的转换)类名
详情可以参考MapStructPlus - 指南 - 配置项
-

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微信团队确认私密朋友圈存在 bug,现已修复
微信团队今日上午通过微博回应了“私密朋友圈存在 bug”的问题。 https://weibo.com/1930378853/NAIzytG5Y 从网友的反馈来看,许多微信用户最近在发布私密朋友圈时,好友会在入口看到提醒朋友圈更新的“小红点头像”。但点进去却发现对方并没有发布新内容。 根据微信团队的回应,“私密朋友圈显示提醒”的 bug 仅在 1 月 1 日当天出现,并且是极小部分用户受影响。
- 下一篇
Spring 七种事务传播性介绍
作者:vivo 互联网服务器团队 - Zhou Shaobin 本文主要介绍了Spring事务传播性的相关知识。 Spring中定义了7种事务传播性: PROPAGATION_REQUIRED PROPAGATION_SUPPORTS PROPAGATION_MANDATORY PROPAGATION_REQUIRES_NEW PROPAGATION_NOT_SUPPORTED PROPAGATION_NEVER PROPAGATION_NESTED 在Spring环境中,含有事务的方法嵌套调用,事务是如何传递的规则,以及每种规则是如何开展工作的。文章还提到每种事务传播性是如何使用的,方便读者依据实际的场景,使用不同的事务规则。 一、什么是Spring事务的传播性 Spring 事务传播性是指, 在Spring的环境中,当多个含有事务的方法嵌套调用时,每个事务方法都处于自己事务的上下文中,其提交或者回滚行为应该如何处理。 通俗讲,就是当一个事务方法调用另外一个事务方法时,事务如何跨上下文传播。 1)当事务方法A调用事务方法B时,事务方法B是合并到事务方法A中,还是开启新事务? 2)当事...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19