当我阅读mapstruct文档时,他们说:mapstruct是一个Java注释处理器,用于生成类型安全的bean映射类。
https://mapstruct.org/documentation/stable/reference/html/#introduction
这就剩下我的任务了。为什么我需要mapstruct?Jhipster使用它,我不知道他们为什么首先需要它?为什么你需要Jhipster内部的映射。
他们还提到。。。。与手工编写映射代码相比,MapStruct通过生成冗长且容易出错的代码来节省时间。所以它可以节省时间,但不能解释你为什么需要它,对吗?
谢谢。我希望他们能修改留档的疑问和解释,写在这里。
JHipster使用MapStruct生成代码,用于将实体映射到DTO或从DTO映射实体,如中所述https://www.jhipster.tech/using-dtos/
您可以通过将生成的Mapper类复制到源代码树中,然后手动进化它们来摆脱它。如果您不打算在无融资创业项目之外使用JHipster,并且/或者希望构建对MapSTRt来说过于复杂的DTO,这可能会很有用。
起初听起来可能会有更多的工作,但这是简单的代码,无论如何,您都需要在前端代码中做同样的事情。
基本上,Mapper是一个简单的服务,它将一个实体映射到数据传输对象或从中映射出来。这样做不需要任何库,也不需要实现任何特定的接口,只需根据从getter获得的值调用writer即可。
如果您不想从头开始,假设您已经定义了一个Book
实体,您可以通过在您的目标
目录中搜索MapSTRt生成的BookMapperImpl.java
类来找到一个示例。然后,您可以将其复制到您的src
目录中,您可以删除BookMapperImpl
中的mapstruct导入,删除BookMapper
接口并将BookMapperImpl
重命名为BookMapper
。
问题内容: 在下面的代码中,为什么我需要导入但可以不导入就可以使用? 问题答案: 为了方便起见,Java编译器会为每个源文件自动导入两个完整的软件包: java.lang包和 当前包(当前文件的包)。 请参考 oracle.com了解更多信息(http://docs.oracle.com/javase/tutorial/java/package/usepkgs.html)
问题内容: 我可以将数据发送到服务器,但是只有在使用FromBody-Attribute时才可以。 为什么无法使用Post从主体自动读取json数据? 后端Web API 前端angularjs 问题答案: 仅因为某事是POST请求,所以没有明确的规则如何传递参数。POST请求仍可以包含URL中编码的查询参数。方法参数应该是“简单”类型(字符串,整数等)的查询参数。 通常,复杂类型应该是POST表
问题内容: 我如何使用AtomicBoolean?该类的作用是什么? 问题答案: 当有多个线程需要检查并更改布尔值时。例如: 这不是线程安全的。您可以使用以下方法修复它:
问题内容: 当我尝试按照本指南进行SQLAlchemy Relation Example时:基本关系模式 我有这个代码 它运作良好,但是在指南中,该模型应为: 为什么我不需要或在我的示例中?什么时候应该使用其中一个? 问题答案: 如果使用,则无需在第二个表上声明关系。 如果 不 使用,并分别定义,则如果不使用,则sqlalchemy将不知道如何连接关系,因此修改一个也将修改另一个。 因此,在您的示
问题内容: 我开始使用RxJS,但我不明白为什么在此示例中我们需要使用类似or 的函数;数组的数组在哪里? 如果有人可以直观地解释正在发生的事情,那将非常有帮助。 问题答案: 当您有一个Observable的结果是更多Observable时,可以使用flatMap。 如果您有一个由另一个可观察对象产生的可观察对象,则您不能直接过滤,缩小或映射它,因为您有一个可观察对象而不是数据。如果您生成一个可观
问题内容: 我对JAX-WS进行了概述,并注意到了(和)的一些引用。 在什么情况下需要?(我认为JSR 109服务器?!) 问题答案: 是使用SUN的参考实现将Web服务作为标准存档部署在非Java EE5 Servlet容器上时所需的专有部署描述符。 Sun的RI 用作servlet上下文事件的侦听器和调度程序servlet。两者都必须在中声明。然后需要该文件为定义Web服务端点,以使其知道必须