事务,一组逻辑,要么全成功,要么全失败。
比如a转200給b,要么a减少200并b增加200,要么出现某些问题,没有成功,a和b的金额没有变化;但是不能出现a减少了,b不增加的情况。 这个例子中,a减少200和b增加200是一个事务,必去一起发生。
在spring中将事务管理分为两类:
- 编程式事务管理
- 手动编写代码进行事务管理(很少使用)
- 声明式事务管理
- 基于TransactionProxyFactoryBean的方式
需要为每一个进行事务管理的类,配置一个TransactionProxyFactoryBean进行增强 - 基于AspectJ的XML方式(经常使用)
一旦配置好之后,类上不需要添加任何东西 - 基于注解方式(经常使用)
配置简单,需要在业务层代码出增加@Transaction的注解
- 基于TransactionProxyFactoryBean的方式