【发布时间】:2017-05-10 14:08:10
【问题描述】:
想象一个具有 3 个字段的 Menu.java pojo:id、姓名和电话。
我正在使用 Spring Batch 3。我的处理器返回给我一个列表。我想将列表中每个对象的这些值写入文件。
如果 Menu 不是列表,这将是我的 writer 类:
@Bean(name="MyWriter")
@SphynxBatchStepScope
public FlatFileItemWriter<Menu> myWriter() String fileOutputName) {
FlatFileItemWriter<Menu> writer = new FlatFileItemWriter<Menu>();
writer.setResource(new FileSystemResource("test.txt")));
DelimitedLineAggregator<Menu> delLineAgg = new DelimitedLineAggregator<Menu>();
delLineAgg.setDelimiter(" ");
BeanWrapperFieldExtractor<Menu> fieldExtractor = new BeanWrapperFieldExtractor<Menu>();
fieldExtractor.setNames(new String[] {"id", "name", "telephone"});
delLineAgg.setFieldExtractor(fieldExtractor);
writer.setLineAggregator(delLineAgg);
writer.setHeaderCallback(header());
writer.setFooterCallback(footer());
writer.setEncoding("UTF-8");
return writer;
}
但是,如果我想将此类转换为与 List 一起使用,我该怎么做呢?
我找不到任何解决方案。只有这个:
Using an ItemWriter with List of Lists
但我不知道如何实现这一点。例如,在哪里以及如何调用 setDelegate 方法。或者当我需要输入我的“id”、“name”、“telephone”序列时。
请问,有人知道带有自定义 Writer 和 List 的代码示例吗?
提前致谢
【问题讨论】:
-
请注意,我使用带有注释的 Spring Batch 3,没有 xml 配置文件
标签: spring-batch