@Transactional注解问题

在某个service实现类中,save方法(没有@Transactional标记)中调用了私有方法b,私有方法用@Transactional标记了,当我在controller层中调用save方法时,控制台报错了,大概是什么事务已经提交的什么错,但是我在save方法底部new了一个线程,把私有方法b放到线程中,然后在调用save方法,就不会报错,请问下大神这是为什么?为什么放到线程中就不报错

1、transaction注解加在私有方法上没效果吧,好像只能被用到public上
2、只有来自外部的方法调用才会被AOP代理捕获,也就是,类内部方法调用本类内部的其他方法并不会引起事务行为

http://www.mamicode.com/info-detail-974708.html