如何用crane:字典项创新处理关联数据,开辟新思路?
- 内容介绍
- 文章标签
- 相关推荐
本文共计9129个文字,预计阅读时间需要37分钟。
前言:在我们日常开发中,经常会遇到一些让人头疼的数据关联和转换问题,例如:
1. 对象属性中有个字典 + id,需要获取对应字典值并填充到对象中;
2.对象属性中有个外键,需要关联查询相关数据。
前言在我们日常开发中,经常会遇到一些烦人的数据关联和转换问题,比如典型的:
- 对象属性中个有字典 id,需要获取对应字典值并填充到对象中;
- 对象属性中有个外键,需要关联查询对应的数据库表实体,并获取其中的指定属性填充到对象中;
- 对象属性中有个枚举,需要将枚举中的指定属性填充到对象中;
实际场景中这种联查的需求可能远远不止这些,这个问题的核心有三点:
- 填充的数据源是不确定的:可能是来自于 RPC 接口,可能是枚举类,也可能是数据库里的配置表,甚至是配置文件;
- 填充对象是不确定的:可能是普通的对象,但是也可能是 Collection 集合,或者 Map 集合,甚至可能是个 JsonNode,或者有一个嵌套结构;
- 填充的字段的不确定的:同样的数据源,但是可能这个接口返回的对象只需要填其中的一个字段,但是另一个接口需要填另外的两个字段;
基于上述三点,我们在日常场景中很容易遇到下图的情况:
本文将推荐一个基于 spring 的工具类库 crane,它被设计用来通过类似 MapStruts 的注解配置,完成这种麻烦的关联数据填充/转换操作的处理。
本文共计9129个文字,预计阅读时间需要37分钟。
前言:在我们日常开发中,经常会遇到一些让人头疼的数据关联和转换问题,例如:
1. 对象属性中有个字典 + id,需要获取对应字典值并填充到对象中;
2.对象属性中有个外键,需要关联查询相关数据。
前言在我们日常开发中,经常会遇到一些烦人的数据关联和转换问题,比如典型的:
- 对象属性中个有字典 id,需要获取对应字典值并填充到对象中;
- 对象属性中有个外键,需要关联查询对应的数据库表实体,并获取其中的指定属性填充到对象中;
- 对象属性中有个枚举,需要将枚举中的指定属性填充到对象中;
实际场景中这种联查的需求可能远远不止这些,这个问题的核心有三点:
- 填充的数据源是不确定的:可能是来自于 RPC 接口,可能是枚举类,也可能是数据库里的配置表,甚至是配置文件;
- 填充对象是不确定的:可能是普通的对象,但是也可能是 Collection 集合,或者 Map 集合,甚至可能是个 JsonNode,或者有一个嵌套结构;
- 填充的字段的不确定的:同样的数据源,但是可能这个接口返回的对象只需要填其中的一个字段,但是另一个接口需要填另外的两个字段;
基于上述三点,我们在日常场景中很容易遇到下图的情况:
本文将推荐一个基于 spring 的工具类库 crane,它被设计用来通过类似 MapStruts 的注解配置,完成这种麻烦的关联数据填充/转换操作的处理。

