- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring day02回顾
AOP :切面编程
切面:切入点 和 通知 结合
spring aop 编程
aop:config
方法1:
aop:pointcut expression=切入点表达式 id=
aop:advisor advice-ref=通知引用 pointcut-ref=切入点的引用
方法2:
aop:advisor advice-ref=通知引用 pointcut=切入点表达式
AspectJ xml
aop:config
aop:aspect ref=切面类
aop:pointcut
aop:before 前置
aop:afterReturning returning=第二个参数名称 后置
aop:around 环绕
aop:afterThrowing throwing=第二。。。 抛出异常
aop:after 最终
AspectJ annotation
@Aspect
@Pointcut(表达式) private void xxx(){}
@Before @...
切入点表达式
aop:pointcut expression=execution(* com.itheima.crm.*.service..*.*(..)) id=
事务管理
回顾事务
事务:一组业务操作ABCD,要么全部成功,要么全部不成功。
特性:ACID
原子性:整体
一致性:完成
隔离性:并发
持久性:结果
隔离问题:
脏读:一个事务读到另一个事务没有提交的数据
不可重复读:一个事务读到另一个事务已提交的数据(update)
虚读(幻读):一个事务读到另一个事务已提交的数据(insert)
隔离级别:
read uncommitted:读未提交。存在3个问题
read committed:读已提交。解决脏读,存在2个问题
repeatable read:可重复读。解决:脏读、不可重复读,存在1个问题。
serializable :串行化。都解决,单事务。
mysql 事务操作--简单
ABCD 一个事务
Connection conn = null;
try{
//1 获得连接
conn = ...;
//2 开启事务
conn.setAutoCommit(false);
A
B
C
D
//3 提交事务
mit();
} catche(){
//4 回滚事务
conn.rollback();
}
mysql 事务操作--Savepoint
需求:AB(必须),CD(可选)
Connection conn = null;
Savepoint savepoint = null; //保存点,记录操作的当前位置,之后可以回滚到指定的位置。(可以回滚一部分)
try{
//1 获得连接
conn = ...;
//2 开启事务
conn.setAutoCommit(false);
A
B
savepoint = conn.setSavepoint();
C
D
//3 提交事务
mit();
} catche(){
if(savepoint != null){ //CD异常
// 回滚到CD之前
conn.rollback(savepoint);
// 提交AB
mit();
} else{ //AB异常
// 回滚AB
conn.rollback();
}
}
事务管理介绍
导入jar包
transaction -- tx
三个顶级接口
PlatformTransactionManager 平台事务管理器,spring要管理事务,必须使用事务管理器
进行事务配置时,必须配置事务管理器。
TransactionDefinition:事务详情(事务定义、事务属性),spring用于确定事务具体详情,
例如:隔离级别、是否只读、超时时间 等
进行事务配置时,必须配置详情。spring将配置项封装到该对象实例。
TransactionStatus:事务状态,spring用于记录当前事务运行状态。例如:是否有保存点,事务是否完成。
spring底层根据状态进行相应操作。
PlatformTransactionManager 事务管理器
导入jar包:需要时平台事务管理器的实现类
常见的事务管理器
DataSourceTransactionManager ,jdbc开发时事务管理器,
文档评论(0)