ItemReader 和 ItemWriter 列表

项读取器

表 1. 可用的 Item Reader
ItemReader 描述 Thread-safe

AbstractItemStreamItemReaderspring-doc.cadn.net.cn

抽象基类,结合了 ItemStreamItemReader 接口。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

AbstractItemCountingItemStreamItemReaderspring-doc.cadn.net.cn

提供基本重启功能的抽象基类, 通过统计从 ItemReader 返回的项目数量来实现。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

AbstractPagingItemReaderspring-doc.cadn.net.cn

提供基本分页功能的抽象基类spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

AbstractPaginatedDataItemReaderspring-doc.cadn.net.cn

提供基于 Spring Data 分页功能的基本分页特性的抽象基类spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

AggregateItemReaderspring-doc.cadn.net.cn

一个 ItemReader,它返回一个列表作为其条目,在准备将对象打包为集合之前,会暂存从注入的 ItemReader 中获取的对象。此类必须用作自定义 ItemReader 的包装器,该自定义读取器能够识别记录边界。自定义读取器应通过返回一个 AggregateItem 来标记记录的开始和结束,该 AggregateItem 对其查询方法(isHeader()isFooter())响应 true。请注意,此读取器并非 Spring Batch 提供的读取器库的一部分,而是作为 spring-batch-samples 中的示例给出。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

AmqpItemReaderspring-doc.cadn.net.cn

给定一个 Spring AmqpTemplate,它提供同步接收方法。receiveAndConvert() 方法允许您接收 POJO 对象。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

KafkaItemReaderspring-doc.cadn.net.cn

一个从 Apache Kafka 主题读取消息的ItemReader。 它可以配置为从同一主题的多个分区读取消息。 该读取器将消息偏移量存储在执行上下文中,以支持重启功能。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

FlatFileItemReaderspring-doc.cadn.net.cn

从平面文件读取。包含 ItemStreamSkippable 功能。请参阅 "FlatFileItemReader"spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

ItemReaderAdapterspring-doc.cadn.net.cn

将任何类适配到 ItemReader 接口。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

JdbcCursorItemReaderspring-doc.cadn.net.cn

通过 JDBC 从数据库游标中读取数据。参见 “基于游标的 ItemReader”spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

JdbcPagingItemReaderspring-doc.cadn.net.cn

给定一个 SQL 语句,逐页遍历行, 使得无需耗尽内存即可读取大型数据集。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

JmsItemReaderspring-doc.cadn.net.cn

给定一个 Spring JmsOperations 对象以及用于发送错误的 JMS 目标或目标名称,提供通过注入的 JmsOperations#receive() 方法接收到的项。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

JpaCursorItemReaderspring-doc.cadn.net.cn

执行 JPQL 查询并迭代返回的结果集spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

JpaPagingItemReaderspring-doc.cadn.net.cn

给定一个 JPQL 查询,对行进行分页处理,以便在不耗尽内存的情况下读取大型数据集。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

ListItemReaderspring-doc.cadn.net.cn

一次从列表中提供一个项目。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

MongoPagingItemReaderspring-doc.cadn.net.cn

给定一个 MongoOperations 对象和基于 JSON 的 MongoDB 查询,提供从 MongoOperations#find() 方法接收到的项。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

MongoCursorItemReaderspring-doc.cadn.net.cn

给定一个 MongoOperations 对象和基于 JSON 的 MongoDB 查询,提供从 MongoOperations#stream() 方法接收到的项。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

RepositoryItemReaderspring-doc.cadn.net.cn

给定一个 Spring Data PagingAndSortingRepository 对象、 一个 Sort,以及要执行的方法名称,返回由 Spring Data 仓库实现提供的项。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

StoredProcedureItemReaderspring-doc.cadn.net.cn

从数据库存储过程执行后生成的数据库游标中读取数据。参见 StoredProcedureItemReaderspring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

StaxEventItemReaderspring-doc.cadn.net.cn

通过 StAX 读取。请参阅 StaxEventItemReaderspring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

JsonItemReaderspring-doc.cadn.net.cn

从 Json 文档中读取条目。参见 JsonItemReaderspring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

AvroItemReaderspring-doc.cadn.net.cn

从包含序列化 Avro 对象的资源中读取项。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

LdifReaderspring-doc.cadn.net.cn

从 LDIF 资源中读取条目,并将其作为 LdapAttributes 返回spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

MappingLdifReaderspring-doc.cadn.net.cn

从 LDIF 资源中读取条目,并使用 RecordMapper 将它们映射到领域对象。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

项目写入器

表 2. 可用的项写入器
项目写入器 描述 Thread-safe

AbstractItemStreamItemWriterspring-doc.cadn.net.cn

抽象基类,结合了 `ItemStream` 和 `ItemWriter` 接口。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

AmqpItemWriterspring-doc.cadn.net.cn

给定一个 Spring AmqpTemplate,提供 一个同步的 send 方法。convertAndSend(Object) 方法允许您发送 POJO 对象。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

CompositeItemWriterspring-doc.cadn.net.cn

将每个项传递给注入的 ItemWriter 对象的 List 中每个项的 write 方法。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

FlatFileItemWriterspring-doc.cadn.net.cn

写入平面文件。包含 ItemStream 和可跳过功能。请参阅 "FlatFileItemWriter"spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

ItemWriterAdapterspring-doc.cadn.net.cn

将任何类适配到 ItemWriter 接口。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

JdbcBatchItemWriterspring-doc.cadn.net.cn

如果可用,会使用来自 PreparedStatement 的批处理功能,并能在 flush 期间采取基本步骤来定位故障。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

JmsItemWriterspring-doc.cadn.net.cn

使用 JmsOperations 对象,项通过 JmsOperations#convertAndSend() 方法写入默认队列。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

JpaItemWriterspring-doc.cadn.net.cn

此 Item Writer 具备 JPA EntityManager 感知能力, 并处理一些非"JPA 感知型" ItemWriter 无需关心的事务相关工作, 然后委托给另一个 Writer 执行实际的写入操作。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

KafkaItemWriterspring-doc.cadn.net.cn

使用 KafkaTemplate 对象,项通过 KafkaTemplate#sendDefault(Object, Object) 方法写入默认主题,并使用 Converter 从项中映射键。 还可以配置一个删除标志,以向主题发送删除事件。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

MimeMessageItemWriterspring-doc.cadn.net.cn

使用 Spring 的 JavaMailSender,类型为 MimeMessage 的项目将作为邮件消息发送。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

MongoItemWriterspring-doc.cadn.net.cn

给定一个 MongoOperations 对象,数据项通过 MongoOperations.save(Object) 方法写入。实际的写入操作会延迟到事务提交前的最后一刻才执行。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

PropertyExtractingDelegatingItemWriterspring-doc.cadn.net.cn

扩展 AbstractMethodInvokingDelegator 动态创建参数。参数通过从待处理项的字段中检索值(通过 SpringBeanWrapper)来创建,基于一个注入的字段名称数组。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

RepositoryItemWriterspring-doc.cadn.net.cn

给定一个 Spring Data CrudRepository 实现, 条目将通过配置中指定的方法进行保存。spring-doc.cadn.net.cn

是的spring-doc.cadn.net.cn

StaxEventItemWriterspring-doc.cadn.net.cn

使用 Marshaller 实现将每个项转换为 XML,然后通过 StAX 将其写入 XML 文件。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

JsonFileItemWriterspring-doc.cadn.net.cn

使用 JsonObjectMarshaller 实现将每个项转换为 Json,然后将其写入 Json 文件。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

AvroItemWriterspring-doc.cadn.net.cn

使用 Avro 将数据序列化为 WritableResourcespring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn

ListItemWriterspring-doc.cadn.net.cn

将项目写入 List 的项目写入器。spring-doc.cadn.net.cn

Nospring-doc.cadn.net.cn