为什么我在使用Jhister时需要mapstruct? [英] Why do I need mapstruct for when using Jhipster?
本文介绍了为什么我在使用Jhister时需要mapstruct?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我阅读mapstruct文档时,他们说:MapStruct是用于生成类型安全的Bean映射类的Java批注处理器。
https://mapstruct.org/documentation/stable/reference/html/#introduction
这就只剩下我的问题了。为什么我需要mapstruct?Jhister使用它,我不知道他们一开始为什么需要它?为什么您需要在Jhister内部进行映射。
他们还提到……与手工编写映射代码相比,MapStruct通过生成繁琐且容易出错的代码来节省时间。所以它节省了时间,但并不能解释你为什么需要它,对吗?
谢谢。我希望他们能根据这里写下的疑虑和解释修改文档。
推荐答案
JHipster使用MapStruct生成代码,用于将实体映射到DTO或从DTO映射实体,如https://www.jhipster.tech/using-dtos/
中所述您可以通过将生成的Mapper类复制到源树中,然后手动演化它们来消除它。如果您不打算在项目引导之外使用JHipster,并且/或者想要构建对MapStruct来说太复杂的DTO,这可能会很有用。
乍听起来可能需要做更多的工作,但这是简单的代码,您无论如何都需要在前端代码中执行相同的操作。
基本上,映射器是一个简单的服务,它将实体映射到数据传输对象,或从数据传输对象映射实体。它不需要任何库来这样做,也不需要实现任何特定的接口,您只需从从getters获得的值调用编写器。 如果您不想从头开始,假设您已经定义了一个Book
实体,您可以通过在target
目录中搜索由MapStruct生成的BookMapperImpl.java
类来找到一个示例。然后,您可以将其复制到src
目录,在BookMapperImpl
中删除mapstruct导入,删除BookMapper
接口并将BookMapperImpl
重命名为BookMapper
。
这篇关于为什么我在使用Jhister时需要mapstruct?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文