spring事务tx命名空间配置

直接贴配置,再解释

<aop:config>
		<aop:advisor pointcut="execution(* org.ocean.service.impl.*.*(..))"
			advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="txManager">
		<tx:attributes>
			<tx:method name="save*" no-rollback-for="Throwable"
				propagation="REQUIRED" />
			<tx:method name="update*" rollback-for="Throwable" propagation=	"REQUIRED" />
			<tx:method name="delete*" />
			<tx:method name="modify*" />
			<tx:method name="create*" />
			<tx:method name="*" rollback-for="Throwable" propagation=	"REQUIRED" />
         </tx:attributes>
</tx:advice>
<aop:advisor/>利用aop对事务处理进行拦截,pointcut指的是对那些方法或类进行拦截,其中表达式
execution(* org.ocean.service.impl.*.*(..))
,第一个*号只任意返回值,第二个*号指包org.ocean.service.impl下面的任意类,第三个*号类下任意方法,括号众的两点表示对方法不限制参数,下面的<tx;advice>则指定事务的属性和具体对那些方法执行事务,如定义中所示,将对save,delete,modify,create和任意方法执行事务

相关推荐