Currently if you want to customize only the TransactionManager provided via the BatchConfigurer, you need to re-implement the entire BatchConfigurer instead of just overriding something in the DefaultBatchConfigurer. The example use case here is to configure a HibernateTransactionManager. Everything else in the DefaultBatchConfigurer applies, but since we refer directly to the private class level variables, there isn't a way to override what TransactionManager is used across components.