就使用者角度来说,所谓的事务主要分两方面:

开启事务:

说明式事务:

Spring mvc(传统web项目):

<!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->

<bean id="transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource" />

</bean>

<!-- 开启声明式事务 -->

<tx:annotation-driven transaction-manager="transactionManager"/>

Spring boot:

@EnableTransactionManagement // 启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />

@SpringBootApplication

public class ProfiledemoApplication {

    // 其中 dataSource 框架会自动为我们注入

@Bean

public PlatformTransactionManager txManager(DataSource dataSource) {

return new DataSourceTransactionManager(dataSource);

}

}

编程式事务:

同说明式事务,可以优先定义TransactionTemplate, 也可以在程序中手动加载

使用事务:

说明式事务:

@Transactional

编程式事务:

TransactionTemplate:

PlatformTransactionManager:

进一步了解:

http://www.importnew.com/18332.html