framework
framework/mapstruct/index.md
medium
framework-mapstruct-index
MapStruct 对象映射四件事 — Mapper 接口定义 / 字段映射 / 映射策略 / 反模式。Use when 写 MapStruct Mapper / 做 DO-DTO-VO 转换 / 评审对象映射的 PR 时。
子项索引
| 子项 | 一句话 |
|---|---|
| mapstruct-mapper-definition skill | 用 @Mapper(componentModel="spring") 把 Mapper 定义成可注入接口,编译期生成实现替代手写转换/BeanUtils |
| mapstruct-field-mapping skill | 用 @Mapping 处理字段名不一致、嵌套属性、多源参数、表达式与日期格式的映射 |
| mapstruct-mapping-strategy skill | 用 unmappedTargetPolicy=ERROR 强制显式映射防漏字段,配空值策略与 @Named 自定义类型转换 |
| mapstruct-anti-patterns skill | 对象转换的反模式 — 别用反射 BeanUtils.copyProperties、别手写 getter/setter 搬运,枚举映射用 @ValueMapping |
MapStruct · 子项索引
MapStruct 对象映射拆成四个独立决策点,按你正在做的事下钻:
| 你在做什么 | 进哪个 |
|---|---|
| 新建一个 Mapper 接口、让它能被 Spring 注入 | mapper-definition |
| 字段名对不上 / 要映射嵌套属性 / 多源参数 / 表达式 / 日期格式 | field-mapping |
| 想强制显式映射防漏字段、处理 null、写自定义类型转换 | mapping-strategy |
| 在纠结要不要用 BeanUtils / 手写搬运 / 枚举怎么映射 | anti-patterns |
「为什么用 MapStruct 而不是 BeanUtils」的拷贝选型见
../../lang/java/utils/bean-copy.md。