Spring框架学习---Spring事务之声明式事务

Spring框架学习—Spring事务之声明式事务

纯xml模式回顾

1.引入jar包,引入关于AOP和声明式事务相关的包

 
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-aopartifactId>
      <version>5.1.12.RELEASEversion>
    dependency>

    
    <dependency>
      <groupId>org.aspectjgroupId>
      <artifactId>aspectjweaverartifactId>
      <version>1.8.13version>
    dependency>

    
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-jdbcartifactId>
      <version>5.1.12.RELEASEversion>
    dependency>
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-txartifactId>
      <version>5.1.12.RELEASEversion>
    dependency>

2.xml文件配置声明式事务


    
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <constructor-arg name="dataSource" ref="dataSource">constructor-arg>
    bean>


   
   <tx:advice id="txAdvice" transaction-manager="transactionManager">
        
        <tx:attributes>
            
            <tx:method name="*" read-only="false" propagation="REQUIRED" isolation="DEFAULT" timeout="-1"/>
            
            <tx:method name="query*" read-only="true" propagation="SUPPORTS"/>
        tx:attributes>
    tx:advice>

    <aop:config>
        
        <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.lagou.edu.service.impl.TransferServiceImpl.*(..))"/>
    aop:config>

纯xml模式回顾

  1. 想要使用声明式事务的注解驱动需要在xml文件中配置一行代码
  2. transaction-manager直接指向横切逻辑代码
    <tx:annotation-driven transaction-manager="transactionManager"/>
    

你可能感兴趣的:(spring)