第 17 章 bindy
此组件的目标是允许将非结构化数据(或更精确的非 XML 数据)解析到/从 Java Beans (带有注解定义的绑定映射)的解析/绑定。使用 Bindy,您可以从源(如 )绑定数据:
- CSV 记录,
- 固定长度记录,
- FIX 消息、
- 或者几乎是其他任何非结构化数据
到一个或多个旧 Java 对象(POJO)。bindy 根据 java 属性的类型转换数据。在某些情况下,POJO 可以与一对多关系连接。此外,对于诸如 Date、Double、Float、Integer、Short、Long 和 BigDecimal 等数据类型,您可以提供在属性格式化期间应用的模式。
对于 BigDecimal 数字,您还可以定义精度和十进制或分组分隔符。
| 类型 | 格式类型 | 特征示例 | Link |
|---|---|---|---|
| Date |
|
| https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html |
| 十进制(十进制) |
|
| 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 或 字段中。
多个模型
当您使用类名称而不是软件包名称配置 bindy 时,您可以将多个模型放在同一个软件包中。
17.1. 依赖项 复制链接链接已复制到粘贴板!
当在 Camel Spring Boot 中使用 bindy-csv 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-bindy-starter</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-bindy-starter</artifactId>
</dependency>