@Transactional(propagation=xx)
1.Propagation.REQUIRED 如果有事务,那么加入事务,没有的话新建一个(默认)。
2.Propagation.NOT_SUPPORTED容器不为这个方法开启事务。
3.Propagation.REQUIRES_NEW不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务。
4.Propagation.MANDATORY必须在一个已有的事务中执行,否则抛出异常。
5.Propagation.NEVER 必须在一个没有的事务中执行,否则抛出异常。
6.Propagation.SUPPORTS 如果其他bean调用这个方法,在其他bean中声明事务,那就用事务;如果其他bean没有声明事务,那就不用事务。
7.Propagation.NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与Propagation.REQUIRED类似的操作。