在编程式事务管理与声明式事务管理之间选择

编程式事务管理通常只适用于事务操作数量较少的情况。例如,如果您的 Web 应用程序仅对某些更新操作需要事务,您可能不想通过 Spring 或任何其他技术来设置事务代理。在这种情况下,使用 TransactionTemplate 可能是一个不错的方法。能够显式设置事务名称也只能通过编程式事务管理方法来完成。

另一方面,如果您的应用程序有大量的事务操作,声明式事务管理通常是值得的。它将事务管理与业务逻辑分离,并且配置起来并不困难。当使用 Spring Framework 而不是 EJB CMT 时,声明式事务管理的配置成本会大大降低。