对于最新稳定版本,请使用Spring Batch Documentation 6.0.0spring-doc.cadn.net.cn

ItemReader

虽然这是一个简单的概念,但ItemReader是提供来自众多数据的手段 不同类型的输入。最一般的例子包括:spring-doc.cadn.net.cn

  • 平面文件:平面文件项目读取器读取平面文件中通常的数据行 描述记录,其数据字段由文件中固定位置定义或分隔 通过某些特殊字符(如逗号)进行。spring-doc.cadn.net.cn

  • XML:XMLItemReader能够独立于解析技术处理 XML, 映射和验证对象。输入数据允许对XML文件进行验证 对抗XSD模式。spring-doc.cadn.net.cn

  • 数据库:访问数据库资源以返回可映射为 的结果集 用于处理的对象。默认SQLItemReader实现调用行图仪返回对象时,如果需要重启,请跟踪当前行,存储 Basic 统计数据,并提供了一些交易改进,后面会详细说明。spring-doc.cadn.net.cn

还有许多其他可能性,但本章我们重点介绍基本的。一个 所有可用的完整列表ItemReader相关实现可见附录Aspring-doc.cadn.net.cn

ItemReader是通用的基础接口 输入作,如下接口定义所示:spring-doc.cadn.net.cn

public interface ItemReader<T> {

    T read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException;

}

方法定义了ItemReader.叫它 返回一项物品或如果没有剩余物品。一个项可能代表 文件、数据库中的一行,或XML文件中的元素。一般来说,期望 这些对象被映射到一个可用的域对象(例如贸易,,或其他),但确实存在 合同中没有要求这样做。spring-doc.cadn.net.cn

预期实现ItemReader接口仅为前向。 然而,如果底层资源是事务型的(如JMS队列),那么调用在回滚场景中,后续调用可能会返回相同的逻辑项。是的 还值得注意的是,缺乏需要处理的物品ItemReader不会导致 例外,被抛出。例如,数据库ItemReader配置为 返回0结果的查询返回关于首次祈求.spring-doc.cadn.net.cn