使用@Transactional注解事务管理需要特别注意以下几点:如果在接口、实现类或方法上都指定了@Transactional 注解,则优先级顺序为方法>实现类>接口;在Spring代理机制下,“自我调用”同样不会应用相应的事务属性,其语义和中一样;在使用Spring代理时,默认只有在public可见度的方法的@Transactional 注解才是有效的,其它可见度的方法上即使有@Transactional 注解也不会应用这些事务属性的,Spring也不会报错,如果你非要使用非公共方法注解事务管理的话,可考虑使用AspectJ。

浅谈Spring的两种事务定义方式

浅谈Spring的两种事务定义方式