【发布时间】:2020-01-17 19:53:01
【问题描述】:
我有以下结构:
控制器(模型类)-> 服务->(域类)存储库。
这就是我在服务层中所做的,当我必须持久化进入请求正文的内容时:
- 将模型类(来自正文请求)映射到域类(尝试使用 Orika)
- 保持域类并在从 DB 中获得 OK 后
- 将数据库中保存的领域类映射到模型类中(尝试使用Orika)
- 将响应返回给控制器
这是我目前所拥有的,但它不起作用:
@Component
public class CustomMapper extends ConfigurableMapper {
private MapperFactory factory = new DefaultMapperFactory.Builder().build();
@Override
protected void configure(MapperFactory factory) {
System.out.println("Spring boot mapper initializing.....");
factory.classMap(ModelSource.class, ModelDestination.class)
.byDefault()
.register();
}
我可以看到消息“Spring boot mapper正在初始化.....”正在运行spring boot,这意味着组件正在加载。
@Autowired
private CustomMapper mapperFacade;
ModelDestination destination = mapperFacade.map(ModelSource.class, ModelDestination.class);
当我检查所有目标字段时,它们都是空的。我究竟做错了什么?谢谢
【问题讨论】:
-
问题是我在每个类private String[] chain;中定义了一个String数组。它在源和目标中的名称相同,但由于某种原因不起作用。例如,如果定义一个字符串 var,它就可以工作,问题是字符串数组
标签: spring-boot orika