同一个对象内事务方法互调默认失效,
原因:绕过了代理对象
事务使用代理对象来控制的解决:使用代理对象来调用事务方法
1、引入aop的starter
2、@EnableAspectJAutoProxy
3、用过代理对象调用
public class EmployeeService{
@Transactional
public void save(){
try {
EmployeeService proxy =(EmployeeService) AopContext.currentProxy();
proxy.a();
proxy.b();
}catch (Exception e){
e.printStackTrace();
}
}
@Transactional
public void a(){
....
}
@Transactional
public void b(){
...
}
}