Spring的xml配置文件中tx命名空间
一,spring配置文件的tx命名空间
-
引入tx命名空间
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd "> </bean>
二,tx命名空间对应的标签和属性
-
<tx:advice id="" transaction="" ></tx:advice >
:该标签用来配置事务通知,transaction属性用来指定切面类(平台事务管理器),jdbcTemplate和MyBatis的平台事务管理器为org.springframework.jdbc.datasource.DataSourceTransactionManager<tx:advice id="transactionManager" transaction="org.springframework.jdbc.datasource.DataSourceTransactionManager"> </tx:advice>
-
<tx:attributes ></tx:attributes >
:设置事务的属性信息的<bean id="transaction" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <tx:advice id="txAdvice" transaction-manager="transaction"> <tx:attributes> <tx:method name="" isolation="" propagation="" read-only=""></tx:method> <tx:method name="" isolation="" propagation="" read-only=""></tx:method> <tx:method name="" isolation="" propagation="" read-only=""></tx:method> </tx:attributes> </tx:advice>
-
<aop:advisor ></aop:advisor >
:配置事务的aop织入<aop:config> <aop:pointcut id="txPointcut" expression=(execution(* com.app.aop.*.*(..)))></aop:pointcut> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut" ></aop:advisor> </aop:config>
-
<tx:annotation-driven transaction-manager="平台事务管理器">
:如果用注解配置事务管理,那么要配置事务的注解驱动<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <tx:annotion-driven transaction-manager="transactionManager"/>
三,总结
- 通过aop配置事务管理,要把spring框架中的平台事务管理器配置好,jdbcTemplate和MyBatis使用的平台事务管理器相同
- 平台事务管理器相当于切面类,其中的属性也就是增强方法可以设置来管理事务