当前位置: 首页 > 知识库问答 >
问题:

在列表中注入所有映射器并以多态方式调用convert方法

贾实
2023-03-14
import org.springframework.core.convert.converter.Converter;

public interface CustomConverter<S extends ..., T extends ...> extends Covnerter<S,T>{

boolean supports(Class clazz);
}
@Autowire
private final List<CustomConverter> myConverters;
@Mapper
public interface MyMapper extends CustomMapper<MyEntity, MyDto>{
MyMapper INSTANCE = Mappers.getMapper(MyMapper.class);

MyEntity toEntity(MyDto dto);

default boolean supports(Class clazz) {
return MyDto.class.isAssignableFrom(clazz);
}
public interface CustomMapper<T extends ..., S extends ...> {

boolean supports(Class clazz);
T toEntity(S dto);
}

共有1个答案

董谦
2023-03-14

签出:https://github.com/mapstruct/mapstruct-spring-extensions

作者在此问题的讨论基础上制作了与适配器

这里可以找到一个非基于spring的解决方案。尽管您需要编写自己的注释处理器。

 类似资料:
  • 我无法从列表映射器(字符串公司)向对象映射器传递一些公共参数 起初,我使用的是接口而不是抽象类。而且没有@AfterMapping方法。事实上,我不知道如何正确地将其作为String公司@Context传递。有没有@Context和@AfterMapping,或者至少有它,所以我的问题是,当列表映射器getEmployeeFromDTO按顺序调用“item”mapper getEmployeeFr

  • 本文向大家介绍MyBatis 引入映射器的方法,包括了MyBatis 引入映射器的方法的使用技巧和注意事项,需要的朋友参考一下 mybatis引入映射器分为三种方式 1. 文件路径引入映射器 用包名引入映射器 用类注册引入映射器 用userMapper引入映射器 总结 以上所述是小编给大家介绍的MyBatis 引入映射器的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的

  • 我必须遍历一个列表,并为每个对象调用一个方法,但要并行。在循环之后,还有其他语句,它们必须等待并行方法调用。我如何在Java中做到这一点?

  • 如何用额外的列保存多对多映射对象?专列为“审批”。对于多对多注释,我只调用了setUsersDocuments(users),它工作正常...我怎样才能使它工作与额外的列? 文件 用户类 主键 多对多表 正在保存单据 编辑:unsuccessfull保存对象-Document.GetDocumentsForUsers().Add(userDocuments)null. 编辑:错误 null