下面在之前博客的基础上,我只是稍微作了一些改动。
主要是配置文件的改变:
<!-- aop配置 -->
<aop:config>
<aop:pointcut id="txServices"
expression="execution(* com.spring.serviceImpl.*.save(..))" /><!-- 注意这里的写法,之前写错了,第一个*与com之间要有空格 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="txServices" />
</aop:config>
<!-- advice配置 tx:advice是专门为声明事物Advice而设置的配置元素 -->
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="save" isolation="READ_COMMITTED" timeout="10" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<aop>配置我之前已经学习过,这里就不再详细介绍了。<tx:advice>是专门为声明事物Advice而设置的配置元素
<tx:advice>的transaction-manager指定了它要使用的事物管理器是哪一个
<tx:advice>内部由<tx:attributes>提供声明式事物所需要的元数据映射信息,每条映射信息对应一个<tx:method>
<tx:method>的name属性是必须指定的,其他的属性代表事物定义的其它内容。
我只是针对配置文件稍微进行了改动,其他的还是一样。