就使用者角度来说,所谓的事务主要分两方面:
开启事务:
说明式事务:
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