Spring声明式事务常用的两种方式

1.基于Aspectj的xml方式的配置

a)配置事务管理器

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="datasource" ref="dataSource"/>
</bean>

b)配置事务的通知

<tx:advice id="txAdvice" tracsaction-manager="transactionManager">
    <tx:attributes>
      <tx:method name="transfer" propagation="REQUIRED"/>
    </tx:attribute>
</tx:advice>

c)配置切面

<aop:config>
      <aop:pointcut expression="execution(* cn.muke.spring.demo3.AccountService+.*(..))" id="pointcut1"/>
      <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut1">
</aop:config>

2.基于注解的配置

a)在xml配置事务管理器

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="datasource" ref="dataSource"/>
</bean>

b)开启注解事务

<tx:annotation-driven transaction-manager="transactionManager"/>

c)在需要实现事务管理的实现类上添加@Transactional注解,注解内可添加隔离级别等多种属性

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。