40.5. 设置 MapStruct
camel-mapstruct 组件必须使用一个或多个软件包名称进行配置,用于类路径扫描 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 中。这意味着,您还可以使用类型转换器将 POJO 转换为 MapStruct,例如:
from("direct:foo") .convertBodyTo(MyFooDto.class);
其中 MyFooDto
是一个 POJO,其中 MapStruct 能够转换为/从中转换。