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

ItemWriter

ItemWriter 在功能上类似于 ItemReader,但执行的是相反的操作。 资源仍然需要被定位、打开和关闭,但不同之处在于, ItemWriter 是向外写入数据,而不是读取数据。对于数据库或队列而言, 这些操作可能是插入、更新或发送。输出序列化的格式取决于具体的批处理作业。spring-doc.cadn.net.cn

ItemReader 一样, ItemWriter 是一个相当通用的接口,如下面的接口定义所示:spring-doc.cadn.net.cn

public interface ItemWriter<T> {

    void write(Chunk<? extends T> items) throws Exception;

}

readItemReader 上的作用类似,write 提供了 ItemWriter 的基本契约。只要写入器处于打开状态,它就会尝试写出传入的项目列表。由于通常预期会将项目“批量”组合成一个块然后再输出,因此该接口接受一个项目列表,而不是单个项目。在写出列表后,可以在从 write 方法返回之前执行任何必要的刷新操作。例如,如果写入到 Hibernate DAO,可以进行多次 write 调用,每个项目调用一次。然后,写入器可以在返回之前对 Hibernate 会话调用 flushspring-doc.cadn.net.cn