基于xml的声明式事务控制
什么是声明式事务控制
指的是采用声明的方式来处理事务。这里的声明指的是在配置文件中声明,用在Spring配置文件中声明式的处理事务来代替代码的处理事务
声明式事务处理作用
- 事务管理不侵入开发的组件。解耦性比较高,事务管理属于系统层面的服务,不是业务逻辑的一部分,如果改变事务管理策略,只需要在定义的文件中从新配置就可以。
- 在不需要事务控制的时候,可以直接在设置文件上修改,即可移除事务管理服务,
- Spring声明式事务控制底层就是AOP
声明式事务控制的实现
声明式事务控制明确事项
- 谁是切点
- 谁是通知
- 配置切面
<!-- 配置平添事务管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource">
</property>
</bean>
<!-- 通知 事务的增强-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<!-- 配置事务的aop织入-->
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution( * zcf.aop.*.*(..))"></aop:advisor>
</aop:config>