mapstruct对象属性映射如何显示映射
时间: 2023-11-24 08:17:06 浏览: 37
在 MapStruct 中,可以使用注解 `@Mapping` 来显示地指定对象属性之间的映射关系。具体来说,可以在映射方法中使用 `@Mapping(source = "sourceField", target = "targetField")` 来表示将源对象的 `sourceField` 属性值映射到目标对象的 `targetField` 属性上。
例如,假设有两个类 `Source` 和 `Target`,它们有相同的属性名但类型不同:
```java
public class Source {
private int id;
private String name;
// getters and setters
}
public class Target {
private long id;
private String name;
// getters and setters
}
```
可以使用以下 MapStruct 映射接口将 `Source` 类型的对象转换为 `Target` 类型的对象:
```java
@Mapper
public interface SourceTargetMapper {
@Mapping(source = "id", target = "id")
Target sourceToTarget(Source source);
}
```
在上面的例子中,`@Mapping(source = "id", target = "id")` 指定了 `Source` 类型的对象的 `id` 属性值映射到 `Target` 类型的对象的 `id` 属性上。这样,当调用 `sourceToTarget()` 方法时,MapStruct 会自动执行这个映射。