The unit of work in a Spring Batch is a job, which encapsulates all other aspects needed to complete a batch operation. Before we get into the details of how to configure and use Spring Batch components, let's familiarize ourselves with the basic terms used in a Spring Batch job.
Job: This represents a batch process, and it has one-to-one mapping. For each batch process, there will be one job. It can be defined either in XML or the Java configuration—I have used the XML approach.
Step: This is the logical breakdown of a job—a job has one or more steps. It encapsulates the phases of a job. A step is the logical unit that contains the actual details for running and controlling the batch job. Each job step can specify its fault tolerance—for example, skip an item on error, halt the job, and so on.
JobInstance: This is...