注意自调用问题, @Transactional 注解仅在外部类的调用才生效, 原因是使用 Spring AOP 机制造成的...., 甚至它们分属多个Service也能被统一事务控制着
通常我们应该使用 Propagation.REQUIRED, 但需要说明的是, 如果一个非事务方法顺序调用了"两个不同service bean"的事务函数..., 它们并不在同一个事务上下文中, 而是分属于不同的事务上下文....关于自调用问题和 Public 的限制, 是因为Spring 使用了 Spring AOP 代理造成的, 如果要解决这两个问题, 使用 AspectJ 取代 Spring AOP 代理....//原因是: 事务上下文是从属于主调bean的, 不同主调bean的事务是在不同的事务上下文中.