声明式的事务处理中,要配置一个切面,即一组方法
<tx:advice id = "txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="find*" read-only ="true" propagation = "NOT_SUPPORT">
</tx:attributes>
</tx:advice>
propagation
的设置标志着这些方法如何使用事务。默认值为REQUIRED
propagation
七种配置选项
REQUIRED
支持当前事务,如果当前没有事务,就新建一个事务SUPPORTS
支持当前事务,如果当前没有事务,就以非事务方式执行MANDATORY
支持当前事务,如果当前没有事务,就抛出异常REQUIRES_NEW
新建事务,如果当前存在事务,把当前事务挂起NOT_SUPPORTED
以非事务方式执行当前操作,如果当前存在事务,就把当前事务挂起NEVER
以非事务方式执行,如果当前存在事务,则抛出异常NESTED
支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。