编程式事务管理:当使用编程式事务管理时,开发者使用的是Spring事物抽象(面向PlatformTransactionManager接口编程),而无需使用任何具体的底层事务API,Spring的事务管理将代码从底层的具体的事务API中抽象出来,该抽象能以任何底层事务为基础。
Spring的编程式事务管理还可以通过TransactionTemplate类来完成,该类提供了一个excute(TransactionCallback action)方法,可以以简捷的方式来进行事务操作。
声明式事务管理: 当使用声明式事务时无须再java程序中书写任何事务操作代码 而是通过在XML文件中为业务组件配置事务代理, 不依赖任何Spring和其他事务的API,Spring的声明式事务无须任何额外的容器支持,Spring本身管理声明式事务使用声明式事务策略可以让开发者更好的专注于业务逻辑的实现。