Prompts-MCP 686 skills · ai / design / design-pattern / framework / fundamentals / habit / lang / tech-selection /mcp/sse
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