When you look into writing a finite process, the ability to execute processes without a UI in a stand-alone manner isn’t that hard. Spring Boot’s CommandLineRunner allows a developer to write a Spring Boot application that executes a single function that implements any business logic you could think of and completes. You don’t need Spring Batch to do that.
Where things get interesting, however, is where things go wrong. If your batch job is running and an error occurs, how do you recover? How does your job know where it was in processing when the error occurred, ...