事务与AOP
数据库事务是一个集合概念,可以由多个增删改查组成。当其中某个操作出现错误时,应该对前面已经执行的操作进行回滚。JAVA是自动提交事务的。如果要实现事务的功能,需要使用try/catch/final语句。首先关闭自动提交事务,在执行数据库操作成功后,提交事务。在catch中进行事务回滚,在final中关闭数据库连接。JAVA实现事务的方式比较固定,适合使用AOP的思想来对事件处理进行统一的处理。而spring-TX就提供了解决方案。
spring-TX事务管理
外部接口(事务管理器)–>增强方法(事务集)–>手术刀(AOP)
步骤(XML中配置) | 具体配置 |
---|---|
事务管理器(事务集的必要属性) | 设置数据源(数据库)(事务是数据库的功能,可以通过接口,给外部管理) |
事务集(增强的方法) | 设置事务的各种属性(哪些方法—什么隔离级别。。) |
AOP(手术刀) | 设置切点,在切点执行的操作(事务集) |
具体实现: XML配置方式
1. 事务管理器配置
<!--
Spring中,使用XML配置事务三大步骤:
1. 增强方法必要属性(事务管理器,为事务获得数据源)
2. 增强方法(事务)
3. AOP手术刀
-->
<!--事务管理者 -->
<bean class="org.springframework.jdbc.datasource.DataSource