第 57 章 Bindy


此组件的目标是允许解析/绑定非结构化数据(或更精确的非XML 数据)到/来自使用注解定义的绑定映射的 Java Beans。使用 Bindy,您可以从 等源绑定数据:

  • CSV 记录,
  • 固定长度记录,
  • FIXED 消息,
  • 或者几乎任何其他非结构化数据

到一个或多个 Plain Old Java 对象(POJO)。Bindy 根据 java 属性的类型转换数据。在某些情况下,POJO 可以与一对多关系相关联。此外,对于数据类型,如 Date, Double, Float, Integer, Short, Long and BigDecimal,您可以提供在属性格式化过程中应用的模式。

对于 BigDecimal 数字,您还可以定义精度和十进制或分组分隔符。

类型格式类型特征示例Link

Date

DateFormat

dd-MM-yyyy

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html

十进制*

DecimalFormat

..##

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/DecimalFormat.html

其中 Decimal = Double, Integer, Float, Short, Long

支持的格式

第一个发行版本只支持用逗号分开的值字段和键值对字段(如 : FIX 消息)。

要使用 camel-bindy,您必须首先在软件包中定义模型(如 com.acme.model)和每个模型类(如 Order、Client、Instrument、…​)将所需的注解(这里介绍)添加到 Class 或字段中。

多模型

您可以使用类名称而不是软件包名称配置绑定,您可以在同一个软件包中放入多个模型。

57.1. 选项

Bindy 数据格式支持 5 个选项,如下所列。

名称默认Java 类型描述

type

 

Enum

必需 是否使用 Csv、修复或 KeyValue。

Enum 值:

  • Csv
  • 已修复
  • KeyValue

classType

 

字符串

要使用的模型类的名称。

locale

 

字符串

要将默认区域设置配置为使用,例如 us 为单元状态。要使用 JVM 平台默认区域设置,请使用名称 default。

unwrapSingleInstance

 

布尔值

当 unmarshalling 应该一个实例被解封并返回,而不是嵌套在 java.util.List 中。

allowEmptyStream

 

布尔值

是否在 unmarshal 进程中允许空流。如果为 true,则在提供不带记录的正文时不会抛出异常。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.