将源 class 映射到目标字段
Map source class to a target field
我正在开发 spring 引导应用程序,我有两个 classes,即 A 和 B。
@Data
class A{
int id;
String name;
}
@Data
class B{
int bId;
A a;
}
我需要使用 mapstruct
映射 class B
的字段,即 a
。如何将源 class A
映射到目标字段 a
以及 class B
。
示例映射器将像
@Mapping(source="id", target="bId")
B fromClassA(A a);
你可以使用 @AfterMapping
,像这样:
@Mapping(source="id", target="bId")
B fromClassA(A a);
@AfterMapping
default void fillAinB(@MappingTarget B target, A source) {
b.setA(source);
}
进行映射的最佳方法是在 @Mapping
中定义它。
例如
@Mapping(source="id", target="bId")
@Mapping(target = "a", source="a")
B fromClassA(A a);
您可以在Mapping#source
中使用参数名称
我正在开发 spring 引导应用程序,我有两个 classes,即 A 和 B。
@Data
class A{
int id;
String name;
}
@Data
class B{
int bId;
A a;
}
我需要使用 mapstruct
映射 class B
的字段,即 a
。如何将源 class A
映射到目标字段 a
以及 class B
。
示例映射器将像
@Mapping(source="id", target="bId")
B fromClassA(A a);
你可以使用 @AfterMapping
,像这样:
@Mapping(source="id", target="bId")
B fromClassA(A a);
@AfterMapping
default void fillAinB(@MappingTarget B target, A source) {
b.setA(source);
}
进行映射的最佳方法是在 @Mapping
中定义它。
例如
@Mapping(source="id", target="bId")
@Mapping(target = "a", source="a")
B fromClassA(A a);
您可以在Mapping#source