0
春のバッチ4は、それをよりきれいにするためにビルダーを追加しましたように春に定義された私のリーダーConfigが春のバッチ4リーダーの設定に春バッチ3読者の変換
@Bean
@Qualifier("myReader")
@StepScope
public FlatFileItemReader<POJO> myReader(@Value("#{stepExecutionContext['fileName']}") String filename) {
FlatFileItemReader<POJO> reader = new FlatFileItemReader<POJO>();
try {
reader.setResource(new UrlResource(filename));
} catch (MalformedURLException e) {
}
reader.setLinesToSkip(1);
reader.setLineMapper(new DefaultLineMapper<POJO>() {{
setLineTokenizer(new DelimitedLineTokenizer() {{
setNames(FileHeader);
setDelimiter(",");
}});
setFieldSetMapper(new BeanWrapperFieldSetMapper<POJO>() {{
setTargetType(POJO.class);
}});
}});
return reader;
}
をbatch3ています。 以下はSpringBatch 4の設定です。
@Bean
@Qualifier("myReader")
@StepScope
public FlatFileItemReader<POJO> myReader(
@Value("#{stepExecutionContext['fileName']}") String filename) throws MalformedURLException {
return new FlatFileItemReaderBuilder<POJO>().resource(new UrlResource(filename))
.name("myReadersdfs")
.delimited()
.delimiter(",")
.names(FileHeader)
.targetType(POJO.class)
.linesToSkip(1)
.build();
}
ビルダーは実際にコードを短くしてきれいにします。
しかし、なぜ私は理解できないのですか?.name( "")は必須です? とはどのように使用されるのですか? 修飾子のように機能しますか?