Spring Batch is an open source, lightweight framework which is designed for use in developing robust batch applications. Batch applications are usually required by systems that need to process large volume of data on daily basis.
There are many applications that require to perform bulk processing of large amount of data on daily basis in order to carry out operations of enterprise businesses. These operations may include:
Spring Batch is not designed for use as a scheduling framework. However, it can be used in combination with a scheduling framework such as Quartz, Control-M, etc.
The figure below is a high level diagram that shows how a typical Spring Batch Application works.
Reader - The reader reads data in bulk from a database, file, or queue.
Processor - The processor processes the data.
Writer - The writer writes back the processed data.
Spring Batch provides reusable functions for reading, processing, and writing large volumes of data records.