programming/Spring Batch
Spring Batch) FlatFileItemReader
코딩하는 핑가
2023. 12. 29. 10:25
반응형
- FlatFileItemReader
- 구조
-
- API
- Resource
- FileSystemResource - new FileSystemResource(“resource/path/config.xml“)
- ClassPathResource - new ClassPathResource(“classpath:path/config.xml“)
- LineMapper
- 파일의 라인 한줄을 Object로 변환해서 FlatFileItemReader로 리턴
- 단순히 문자열을 받기 때문에 문자열을 토큰화해서 객체로 매핑하는 과정이 필요
- LineTokenizer와 FieldSetMaper를 사용해서 처리
- FieldSet
- 라인을 필드로 구분해서 만들 배열 토큰을 전달하면 토큰 필드를 참조할 수 있도록 함
- JDBC의 ResultSet과 유사
- fs.readString(0), fs.readString(“name”)
- LineTokenizer
- 입력받은 라인을 FieldSet으로 변환해서 리턴
- 파일마다 형식이 다르기 떄문에 문자열을 FieldSet으로 변환하는 작업을 추상화시켜야함
- FieldSetMapper
- FieldSet 객체를 받아서 원하는 객체로 매핑해서 리턴
- 최종적으로 BlackFileReader에게 리턴
- JdbcTemplate의 RowMapper와 동일한 패턴을 사용
- FieldSet 객체를 받아서 원하는 객체로 매핑해서 리턴
- Resource
- LineMapper / LineTokenizer / FieldSetMapper 프로세스
- 구조
반응형