0
봄 3 독자를 변환하는 것은 다음은 스프링 배치 (4) 더 깨끗하기 위해 빌더를 추가함에 따라봄의 배치를 배치 4 리더 설정
@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을 ("")이 필수입니다 왜 내가 이해할 수없는 무엇입니까? 그리고 어떻게 사용 될까요? 이름은 과 같이 작동합니까? 한정자?