spring事务
Spring 事务 提供一套抽象的事务管理,并且结合 Spring IOC 和 Spring AOP,简化了应用程序使用数据库事务,通过声明式事务,可以做到对应用程序无侵入的实现事务功能。
个人理解:事务就是把需要同一处理的方法交给spring管理,在出现异常时如何处理,把一些必要的事务回滚。
- 使用spring注解开发事务
//spring配置类
@Configuration
@EnableTransactionManagement //开启事务注解
public classs SpringConfig{
}
编写事务管理器
这里需要注意使用的是DataSourceTransactionManager 管理器所使用的的jdbc在DataSource 类中必须相同
@Configuration
public class TransactionConfig {
@Bean
public DataSourceTransactionManager dataSourceTransactionManager(DataSource datasource) {
DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager(datasource);
return dataSourceTransactionManager;
}
}
使用事务(事务调解员)
//在需要开启事务的地方加入注释,可以有参数
@Transactional
public class UserService{}
注解写在类上表示类的所有方法都开启事务,也可以单独写在方法上
事务传播行为