Spring的声明式事务:采用声明的方式来处理事务。
声明指的是在配置文件中声明,用在Spring配置文件中声明式的处理事务来代替代码式的处理事务。
Spring声明式事务控制底层就是AOP
主要注意的点:谁是切点,谁是通知,配置切面
引入tx命名空间(Pom.xml引入
配置事务增强
配置事务AOP织入(ApplicationContext.xml
测试
tx:method 表示切点方法的事务参数的配置
Name: 切点方法的名称
Isolation:事务的隔离级别
Propogation:事务的传播行为
Timeout:超时时间
Read-only:是否只读
例子:计算库存与售出数量,若售出50件商品,库存数量减50,售出数据加50

** 引入tx命名空间(Pom.xml引入**
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>org.examplegroupId>
<artifactId>Lab5-SpringAOP-2.1artifactId>
<version>1.0-SNAPSHOTversion>
<dependencies>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-contextartifactId>
<version>5.0.5.RELEASEversion>
dependency>
<dependency>
<groupId>org.aspectjgroupId>
<artifactId>aspectjweaverartifactId>
<version>1.9.2version>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-jdbcartifactId>
<version>5.0.5.RELEASEversion>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-txartifactId>
<version>5.0.5.RELEASEversion>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-testartifactId>
<version>5.0.5.RELEASEversion>
dependency>
<dependency>
<groupId>c3p0groupId>
<artifactId>c3p0artifactId>
<version>0.9.1.2version>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.16version>
dependency>
<dependency>
<groupId>com.alibabagroupId>
<artifactId>druidartifactId>
<version>