问题标签 [mapstruct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8360 浏览

spring - MapStruct 映射器未在 Spring 单元测试中注入

我正在使用一个使用 MapStruct 生成的映射器:

默认组件模型为 spring(在 pom.xml 中设置)

我有一项服务,可以在其中注入客户映射器,并且在运行应用程序时工作正常

但是当我运行涉及@SpringBootTest 的单元测试时

我得到一个 org.springframework.beans.factory.UnsatisfiedDependencyException

通过字段“customerMapper”表示的不满足的依赖关系

0 投票
1 回答
21114 浏览

java - MapStruct :丰富映射注释以定义自定义映射器

这是我的上下文:我正在使用 byteBuddy 动态生成一个类,该类根据外部配置将一个对象转换为另一个对象。我遇到了一些问题,我想找到一个替代方案,这就是我发现 MapStruct 的方式。

所以我尝试构建简单的映射器,我想知道是否有可能自定义注释以添加转换功能。例如,我想拥有:

在映射器实现上,我会有类似的东西:

如果有人可以帮助我实现这一目标,我将不胜感激,这将为我节省大量时间。

提前致谢。

0 投票
1 回答
6328 浏览

java - MapStruct : 将 HashMap 条目作为源处理

这是我的源对象:

这是我的目标对象:

我的映射器如下所示:

现在它运作良好,但我想知道是否有更“优雅”的方式将 Map 条目设置为源。因为有了这个我没有设法使用“qualifiedByName”属性添加转换函数,看起来它只能在指定“源”时工作。我是不是误会了什么?

我尝试了以下方法但没有令人满意的结果:

  • 覆盖我的 Record 类中特定字段的 getter
  • 添加具有“qualifiedByName”属性的转换函数。就像是:

    但显然这不会编译,因为属性名称作为正确的来源无效。

谢谢你的时间。

0 投票
1 回答
1551 浏览

java - Mapstruct 自定义映射器并自动生成一个

我理解Mapstruct允许我定义自己的映射器逻辑,我这样做是这样的:

它工作得很好,但我也想要Mapstruct生成的映射器,但它们必须在接口中定义,有没有办法对这两种映射器类型进行分组?

0 投票
7 回答
47631 浏览

java - MapStruct 实现在 Spring Boot Web 应用程序中不起作用

我是 Spring Boot 和MapStruct工具的新手。

早些时候,一个项目(由其他团队使用这些技术编写)没有启动。然后,我在 Mapper 抽象类中做了一些更改,但现在映射器对象在应用程序启动时变为 null。

映射器抽象类:

LoginServiceImpl 类

pom.xml

在 LoginServiceImpl 中添加 @Autowired 后,应用程序未启动并显示以下错误日志

有什么建议么 ?

0 投票
1 回答
1253 浏览

java - 使用不同的忽略字段多次映射同一个对象

我想要一个这样的映射器,映射器的一种方法应该忽略角色字段。

Ambiguous mapping methods found for mapping collection element to UserDTO在编译期间遇到此错误。我不想创建另一个 DTO 只是为了删除角色字段,我可以添加一个默认方法,也许有更好的解决方案......

0 投票
1 回答
1283 浏览

java - 如何在 Java 中模拟使用 Map Struct 的类?

使用 MAPSTRUCT 的 Java 类我们在接口内部有静态变量 INSTANCE,并且该接口实现是在运行时创建的。那么,如何在 Java 中模拟使用 Map Struct 的类?

如何为 A 类创建模拟?

0 投票
1 回答
408 浏览

java - 如何创建具有不同注释的两种映射方法

我创建了这个映射方法:

正如您所看到的,这两种方法具有相同的签名,当涉及到其他实体中的隐式映射时,这会导致错误。我现在通过将“角色”参数添加到第二种方法来解决它,该方法只是为了制作不同的方法签名。

问题是我在存储库上有两种方法来获取用户,一种有权限,另一种没有权限,我需要将加载的权限映射到 DTO 上的权限 ID。

如何制作两种注释不同但签名相同的映射方法?

0 投票
2 回答
2125 浏览

mapstruct - MapStruct:将实体与实体同类型的字段映射

考虑这种情况:

我试图用这个从 DTO 映射到实体:

但它不起作用。那么,如何将实体与实体类型相同的字段映射呢?

谢谢,安德里亚

0 投票
1 回答
3929 浏览

java - 如何使用 MapStruct 应用两个参数映射对象的功能?

有两个源类 A 和 B

和另一个目标类 C

很清楚如何将 A 映射到 C 或 B 到 C。

是否可以映射某些功能,例如,将源对象添加或 pow 到目标对象,以便生成的代码如下所示

或者