Spring中的AOP和事务管理,以及SpringBoot中使用事务

一、什么是事务:

狭义上的事务特指数据库事务,一方面,当多个程序并发访问数据库时,事务可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。另一方面,事务为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持数据一致性的方法。

二、什么是AOP:

在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。

AOP是Spring提供的关键特性之一。

使用AOP技术,可以将一些系统性相关的编程工作,独立提取出来,独立实现,然后通过切面切入系统(比如权限管理、事务管理、日志记录等),从而避免了在业务逻辑的代码中混入许多的系统相关的逻辑,达到了将不同的关注点分离出来的效果。

三、怎么使用AOP管理事务:

(1)使用execution扫描某个包下的所有类,设置切入点。

(2)使用advice编写通知,配置需要进行事务管理的方法名。

(3)设置切面,切面就是将切入点和通知整合。

当方法被advice拦截下来时,通知到事务管理器去开启一个事务,因为可能会有很多个方法会被拦截,所以称为切面。

四、springboot中使用事务

只需要在类或者方法上添加 @Transactional 即可,因为在spring boot中,已经默认对JPA、JDBC、mybatis开启了事务,在引入他们依赖的时候就已经默认开启了事务

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值