想象一下Menu.java pojo有3个字段:id,name和telephone .
我正在使用Spring Batch 3.我的处理器返回一个List . 我想在文件上写下列表中每个对象的这些值 .
如果Menu不是列表,那么这将是我的编写者类:
@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”,“名字”,“电话”序列 .
请问,有没有人知道带有List的自定义Writer的代码示例?
提前致谢
1 回答
你的作家将保持原样,但被
ListUnpackingItemWriter
包裹 .