spring批处理编写器中的自定义CSV字段名称



我想在spring-batch-writer中写入CSV文件,但我不想在我的bean中使用属性名称,我需要一个自定义字段名称。有没有其他方法可以在不使用BeanWrapperFieldExtractor的情况下做到这一点?

这是我的豆子:

public class VMi {
private String Name;
private String OrgName;
private String Status;
private int CPU;
private int RAM;
private String IP;
}

我想输出除了"0"之外具有相同名称的字段;OrgName";我希望它是";组织->名称";

如果要在输出文件的头中写入不同的名称,可以使用FlatFileHeaderCallback。这里有一个快速的例子:

@Bean
public FlatFileItemWriter<VMi> itemWriter() {
return new FlatFileItemWriterBuilder<VMi>()
.resource(new FileSystemResource("vmi.csv"))
.name("vmiWriter")
.delimited()
.names("Name", "OrgName", "Status", "CPU", "RAM", "IP")
.headerCallback(writer -> writer.write("Name, Organization->Name, Status, CPU, RAM, IP"))
.build();
}

这仍然会使用BeanWrapperFieldExtractor从基于getter的项中提取值,但会在输出文件中为OrgName写入不同的名称。

最新更新