4、Spring 事务
1、Spring 事务
Spring事务是在不同的底层事务管理API的顶部提供一个统一的抽象层。
2、编程式事务和声明式事务
编程式事务(不推荐):
或者
声明式事务:
xml方式
注解方式:
3、事务失效:
1、@Transaction可以加在类上,但不能放在接口上;
2、@Transaction作用的方法必须是public,因为spring事务依赖aop动态代理,动态代理不能继承private的方法,同样方法也不能设置为final;
3、@Transaction内部方法调用失效的问题,这在Spring AOP已经描述,this代表target对象,而不是proxy对象,所有内部调用的方法事务无法生效,可以使用AopContext.currentProxy获取当前proxy对象(expose-proxy=true);
4、底层原理分析—源码分析