1 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個贊
向方法中添加泛型
private <T> void flatFileItemReaderConfig(FlatFileItemReader<T> flatFileReader, String fileName, String incomingHeader, Class<T> clazz) {
// set delimiter as '|'
DefaultLineMapper<T> defaultLineMapper = new DefaultLineMapper<>();
DelimitedLineTokenizer delimitedLineTokenizer = new DelimitedLineTokenizer("|");
delimitedLineTokenizer.setNames(convertHeaderToEntityAttrib(fileName, incomingHeader));
defaultLineMapper.setLineTokenizer(delimitedLineTokenizer);
// convert each record into primary entity
BeanWrapperFieldSetMapper<T> beanWrapperFieldSetMapper = new BeanWrapperFieldSetMapper<>();
beanWrapperFieldSetMapper.setTargetType(clazz);
beanWrapperFieldSetMapper.setCustomEditors(getCustomFormatters());
defaultLineMapper.setFieldSetMapper(beanWrapperFieldSetMapper);
flatFileReader.setLineMapper(defaultLineMapper);
}
如果您只想將使用限制為列出的實(shí)體,請創(chuàng)建一個由所有具體實(shí)體 ( PrimaryEntity, ChildEntity1, ChildEntity2, ChildEntity3, ChildEntity4) 實(shí)現(xiàn)的通用接口實(shí)體,并將簽名更改為
private <T extends Entity> void flatFileItemReaderConfig(...)
添加回答
舉報