Spring Batch is a Batch Framework - the documentation is pretty decent and is a really good introduction to Batch Frameworks and what Spring Batch can do for you.
In terms of volume it's pretty decent - we've been using it without issue on large volume. The batch framework is itself pretty quick and provide a number of ways to parallel process and scale (there is a chapter dedicated to 7. Scaling and Parallel Processing )
In the end a job is as good as you write it to be! If you write a poor performing job - nothing can help you scale!
even though..there are TOOLS available to handle the transaction..... why do we need to prefer Spring Batch
which tools would you be talking about here? What do you mean by transaction? (Batch job need to have concept of restart-ability, scalability in addition to being transactional!)