I don't know if batch already follows this style, but I prefer making required attributes constructor args. Then you can declare them as final, remove the setters and InitializingBean