95.6. 设置 MapStruct
camel-mapstruct 组件必须配置有一个或多个软件包名称,用于 classpath scanning MapStruct Mapper 类。这是必要的,因为 映射程序 类用于通过 MapStruct 转换 POJO。
例如,要设置两个软件包,您可以执行以下操作:
MapstructComponent mc = context.getComponent("mapstruct", MapstructComponent.class);
mc.setMapperPackageName("com.foo.mapper,com.bar.mapper");
这也可以在 application.properties 中配置:
camel.component.mapstruct.mapper-package-name = com.foo.mapper,com.bar.mapper
在启动时,Camel 将针对名称以 Mapper 结尾的类扫描这些软件包。然后,内省这些类来发现映射方法。这些映射方法然后注册到 Camel registry 中。这意味着,您还可以使用类型转换器来转换带有 MapStruct 的 POJOs,例如:
from("direct:foo")
.convertBodyTo(MyFooDto.class);
其中 MyFooDto 是 POJO,则 MapStruct 能够转换为/从.