Spring batch 使用java注释的Spring批处理java.lang.IllegalStateException:无法创建没有元数据的属性 尝试仅在项目中使用java anotations将字段集自动映射到域对象
未能达到以下要求:Spring batch 使用java注释的Spring批处理java.lang.IllegalStateException:无法创建没有元数据的属性 尝试仅在项目中使用java anotations将字段集自动映射到域对象,spring-batch,Spring Batch,未能达到以下要求: BeanWrapperFieldSetMapper.mapFieldSet(第184行)位于下一行(第187行): 注意:我没有指定名称,因为我正在尝试自动映射 以下是我的代码: @Bean public LineMapper<Partner> lineMapper() { DefaultLineMapper<Partner> lineMapper = new DefaultLineMapper<Partner>()
BeanWrapperFieldSetMapper.mapFieldSet
(第184行)位于下一行(第187行):
注意:我没有指定名称,因为我正在尝试自动映射
@Bean
public LineMapper<Partner> lineMapper() {
DefaultLineMapper<Partner> lineMapper = new DefaultLineMapper<Partner>();
DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer();
BeanWrapperFieldSetMapper<Partner> fieldSetMapper = new BeanWrapperFieldSetMapper<Partner>();
fieldSetMapper.setBeanFactory(getApplicationContext());
fieldSetMapper.setTargetType(Partner.class);
lineMapper.setLineTokenizer(lineTokenizer);
lineMapper.setFieldSetMapper(fieldSetMapper);
return lineMapper;
}
@Bean
公共线条映射器线条映射器(){
DefaultLineMapper lineMapper=新的DefaultLineMapper();
DelimitedLineTokenizer lineTokenizer=新的DelimitedLineTokenizer();
BeanRapperFieldSetMapper=新的BeanRapperFieldSetMapper();
setBeanFactory(getApplicationContext());
fieldSetMapper.setTargetType(Partner.class);
lineMapper.setLineTokenizer(lineTokenizer);
lineMapper.setFieldSetMapper(fieldSetMapper);
返回线映射器;
}
java.lang.IllegalStateException:无法创建没有元数据的属性
在org.springframework.batch.item.file.transform.DefaultFieldSet.getProperties(DefaultFieldSet.java:745)
您缺少设置,因为您正在使用名称(您的
合作伙伴的名称
属性)我正在尝试自动映射,请参阅6.6.2.7。自动将字段集映射到batch ref中的域对象我不需要指定名称。您是否将标题名称映射到csv文件中?是的,我在partner bean中有第一个记录作为精确的列名。我没有标题,但我如何得到相同的错误@Luca Basso Ricci
@Bean
public LineMapper<Partner> lineMapper() {
DefaultLineMapper<Partner> lineMapper = new DefaultLineMapper<Partner>();
DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer();
BeanWrapperFieldSetMapper<Partner> fieldSetMapper = new BeanWrapperFieldSetMapper<Partner>();
fieldSetMapper.setBeanFactory(getApplicationContext());
fieldSetMapper.setTargetType(Partner.class);
lineMapper.setLineTokenizer(lineTokenizer);
lineMapper.setFieldSetMapper(fieldSetMapper);
return lineMapper;
}