public class EntityA {
private List<? extends AbstractObject> objects;
}
public class EntityB {
private List<? extends AbstractObjectDTO> dtos;
}
我有一个通用映射器:
public interface GenericMapper<X extends AbstractObjectDTO, Y extends AbstractObject> {
Y mapDTOToEntity(X value);
X mapEntityToDTO(Y value);
}
@Mapper
public interface ConcreteMapper extends GenericMapper<ConcreteDTO, ConcreteObject> {}
在编译时,它会生成以下错误:无法将属性“list<?extends abstractobject>
objects”映射到“list<?extends abstractobject dto>
dto”。考虑声明/实现一个映射方法:“list<?extends abstractobjectdto>map(list<?extends abstractobject>value)
”。
当我实现map方法时,如错误中所示,我有以下错误:不能为泛型类型变量源生成映射方法。
你可以实现你所追求的。
您需要具备以下方法:
List<AbstractObjectDto> map(List<? extends AbstractObject> value);
List<AbstractObject> mapDto(List<? extends AbstractObjectDto> value);
@ObjectFactory
default AbstractObjectDto createDto() {
return null; // implement your own logic
}
@ObjectFactory
default AbstractObject createEntity() {
return null; // implement your own logic
}
最重要的是MapStruct应该如何生成要映射的对象。MapStruct在编译代码的过程中生成代码,因此您需要适当地实现这些代码。
default AbstrctObjectDto map(AbstractObject value) {
if (value instanceOf SomeObject) {
// invoke mapping for SomeObject
}
//else if and more
}
我正在开发一个REST API与Spring引导v2.0.0。RELEASE与mongoDB耦合。使用sping-boot-starter-data-mongob连接MongoDB im。 正在申请中。属性我可以更改与mongodb相关的基本配置,但我的问题是,当涉及高级属性时,管理这些配置的最佳方式应该是什么。例如,不能通过应用程序更改每个主机的连接属性。财产。 因此,我使用了AbstractM
问题内容: 我是一名 Java 开发人员,对Object Orientation概念有很好的了解( 或者也许我这样认为 )。现在我正在学习设计模式(从头开始设计模式)。我一直在阅读有关OOPS概念抽象的文章,以简要地理解它,而阅读更多有关它的内容,使我比以前更加困惑。 据我了解,抽象是指隐藏程序的内部细节,同时将接口暴露给其他程序员,而无需担心内部细节。但是我不明白 抽象类如何适应这种抽象概念,其
问题内容: 我尝试将正则表达式匹配为app.yaml中的目录名的尝试不起作用: 尽管此官方规范说正则表达式语法受支持。有办法使这项工作吗? 即应该匹配静态文件。 琐事 我使用Google App Engine服务Go Webapp。 我想最大程度地延长浏览器缓存的寿命,最大程度地减少请求数,并仍提供我的css / js / png的新版本,并且我相信修改文件名是实现此目的的最佳实践。另外,由于添加
问题内容: 为什么这样做: 虽然这会产生类型不匹配错误: 为什么是这样?是否有办法解决此问题,而不使用原始类型? 问题答案: 尝试 注意:请注意,当您使用类似List的集合时,您只能在“只读”模式下使用它(添加空值除外)。
类型参数T不应由最终的类型整数限定。不能进一步扩展Final类型 为什么使用final类型作为通配符的上限完全可以,但对类型参数抛出警告?为什么Java甚至允许通配符被最终的上层类型所约束?
问题内容: 和MySQL中的通配符有什么区别? 在这样的查询中: 问题答案: 只能在全文搜索中用作通配符(或截断),而(匹配0个或更多字符)和(恰好匹配一个字符)仅适用于LIKE查询。