As of v5.2, it is required to provide a transaction manager to tasklet and chunk-oriented steps even if transactions are not needed (in which case users typically have to provide a ResourcelessTransactionManager).
If users do not need transaction, it should be possible to not provide a transaction manager at all.