那我们该选择编程式事务管理还是声明式事务管理呢?

   当我们只有很少的事务操作时候看,编程式事务管理通常比较适合,例如有一个web应用,其中只有特定的更新操作有事务要求,你可能不愿意使用spring或者其他的技术设置事务代理,这种情况下,使用TransactionTemplate可能是个好办法,只有编程式事务管理才能显示的设置事务名称。

   另一方面,如果你的应用中存在大量的事务操作,那么声明式事务管理通常是值得的,他将事务管理与业务逻辑分离,而且在spring中的配置也不难。