[英]Use spring Mapper to map object of Map - Java
I'm facing some difficulties while trying to use Mapper annotation functionality of spring.我在尝试使用 spring 的 Mapper 注释功能时遇到了一些困难。 I would like to use the mapper to map an object of Map in java as follows:
我想使用映射器在java中映射一个Map对象,如下所示:
HostCounters :主机计数器:
@Data
@NoArgsConstructor
@AllArgsConstructor
public class HostsCounters {
private Map<String,Map<String,Long>> hostsList;
}
Mapper :映射器:
@Mapper(componentModel = "spring")
public interface ResponseMapper {
GeneralResponse toResponse(SevCount sevCount, HostsCounters hostsList, List<RegDAO> Reg);
}
GeneralRespone:一般回复:
@Data
@NoArgsConstructor
public class GeneralResponse {
private List<RegDAO> Reg;
private HostsCounters hostsList;
private SevCount sevCount;
}
Error:错误:
Can't map property "java.util.Map> hostsList" to " HostsCounters hostsList".
无法将属性“java.util.Map> hostsList”映射到“HostsCounters hostsList”。 Consider to declare/implement a mapping method
考虑声明/实现映射方法
Just use:只需使用:
@Mapping(source = "hostsList", target = "hostsList")
GeneralResponse toResponse(SevCount sevCount, HostsCounters hostsList, List<RegDAO> Reg);
But I would strongly advise you to get rid of identical names with different meanings:但我强烈建议您去掉含义不同的相同名称:
HostsCounters hostsList -> HostsCounters hostsLists
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.