Spring Batch는 대량의 데이터 처리를 위한 경량화된 프레임워크로, 반복적인 작업을 수행하는 일괄 처리(Batch Processing) 작업을 효율적으로 처리할 수 있는 기능을 제공
대용량 데이터 처리: Spring Batch는 방대한 양의 데이터를 처리할 수 있음. 데이터 처리 작업을 분산 처리할 수 있어서, 대용량 데이터 처리에 적합함.
트랜잭션 관리: 데이터 처리 중 실패한 작업은 롤백하여 데이터 일관성을 유지할 수 있음
재시도 기능
Spring Batch는 작업 중 실패한 경우, 작업을 재시도할 수 있는 기능을 제공하고 재시도 횟수를 설정할 수 있음


Job - 처음부터 끝까지 독립적 실행 가능하며 하나의 배치 작업을 나타내고 고유하고 순서가 지정된 여러 스텝들의 모음,JobInstance로 표현되며, JobInstance는 Job의 실행에 대한 실제 인스턴스를 나타냄
JobLauncher - Job을 실행하는 인터페이스. Job을 실행하기 위해서는 JobLauncher를 통해 Job을 실행해야 함
JobRepository - Job과 관련된 메타 정보를 저장하고 조회하기 위한 인터페이스. JobInstance, JobExecution, StepExecution 등의 정보를 포함하고 있음
JobInstance - Job의 실행을 나타내는 인스턴스
JobExecution - JobInstance의 실행에 대한 정보를 저장
StepExecution - Step의 실행에 대한 정보를 저장. StepExecution은 Step안에서 Tasklet 혹은 Chunk 방식으로 실행됨
