带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(3)

简介: 带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(3)

带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(2)https://developer.aliyun.com/article/1339762?groupCode=taobaotech


基础转换

字段完全一致

 

image.png待转换的类

  @Data
  @Builder
  public class Source {
  private Long id;
  private Long age;
  private String userNick;
 }

 

 

image.png转换目标类

  @Data
public class Target {
  private Long id;
private Long age;
  private String userNick;
 }

 

 

image.png转换器


注意:Mapper是Mapstruct的注解。

@Mapper
public abstract class Converter {
public static Converter INSTANT = Mappers.getMapper(Converter.class);
public abstract Target convert(Source source);
}

 

 

 

image.png使用示例

 final Source source = 
 Source.builder() 2  .id(1L)
 .age(18L)
  .userNick("Nick")
  .build();
  final Target target = Converter.INSTANT.convert(source);
  System.out.println(target);

 

 

输出:

 Target(id=1, age=18, userNick=Nick)

 

 

一一对应的字段名不一致、类型不一致

 


image.png待转换的类

  @Data
  @Builder
  public class Source {
  private Long id;
  private Long age;
  private String userNick;
 }

 

 

image.png转换目标类

  @Data
  public class Target {
  private Long id;
  private Integer age;
  private String nick;
 }

 

 

转换目标类修改了age字段的类型,和userNick字段的名字,这两个类的字段仍然是一一对应的。

 

带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(4)https://developer.aliyun.com/article/1339760?groupCode=taobaotech


相关文章
|
安全
带你读《2022技术人的百宝黑皮书》——如何避免写重复代码:善用抽象和组合(4)
带你读《2022技术人的百宝黑皮书》——如何避免写重复代码:善用抽象和组合(4)
100 0
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(4)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(4)
107 0
带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(8)
带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(8)
带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(8)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(6)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(6)
|
SQL 缓存 JSON
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(1)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(1)
160 1
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(5)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(5)
109 1
|
网络协议
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(2)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(2)
131 1
|
算法
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(3)
带你读《2022技术人的百宝黑皮书》——性能优化之接口优化(3)
|
安全
带你读《2022技术人的百宝黑皮书》——如何避免写重复代码:善用抽象和组合(2)
带你读《2022技术人的百宝黑皮书》——如何避免写重复代码:善用抽象和组合(2)
带你读《2022技术人的百宝黑皮书》——如何避免写重复代码:善用抽象和组合(2)
|
算法 Java Maven
带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(10)
带你读《2022技术人的百宝黑皮书》——MapStruct,降低无用代码的神器(10)