Spring Batch is a lightweight and comprehensive batch framework designed for developing robust batch applications needed for daily enterprise operations. It provides infrastructure that focuses on business logic, uses plain-old Java objects with dependency injection, is lightweight and can be easily embedded into existing applications while allowing reuse of existing libraries. Spring Batch handles large data volumes, automation, robustness, reliability, and performance requirements of batch processes through its core concepts of item readers, processors, writers, steps, jobs, job launching, repositories and other features.