直接调用方法使事务Transactional失效
因为直接调用方法相当于this.createVoucherOrder 是当前对象调用该方法
而@Transactional注解生效是spring针对动态代理实现的事务
所以在方法上加注解直接调用事务并不会生效
需要通过AopContext获取当前对象的反向代理对象
然后通过反向 代理对象执行方法 才可以使事务生效
直接调用方法使事务Transactional失效
因为直接调用方法相当于this.createVoucherOrder 是当前对象调用该方法
而@Transactional注解生效是spring针对动态代理实现的事务
所以在方法上加注解直接调用事务并不会生效
需要通过AopContext获取当前对象的反向代理对象
然后通过反向 代理对象执行方法 才可以使事务生效