美文网首页
搭建一个SSM项目 -6: 增加“事务”

搭建一个SSM项目 -6: 增加“事务”

作者: 轻云绿原 | 来源:发表于2020-08-28 09:14 被阅读0次

    现在应该增加数据库的事务管理了。
    spring-myBatis的事务管理

    事务管理的话,是用AOP实现的

    1:引入依赖

    <!--aop的框架-->
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>${springVersion}</version>
        </dependency>
    <!--分析切点表达式的框架-->
        <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjweaver</artifactId>
          <version>1.9.5</version>
        </dependency>
    

    2:怎么用?

    beans.xml里增加以下

        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <!--这里的dataSource bean 要和org.mybatis.spring.SqlSessionFactoryBean里面的用同一个-->
            <constructor-arg ref="dataSource"/>
        </bean>
    
      <!--增强-->
        <tx:advice id="tx" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="fetch*" propagation="SUPPORTS" read-only="false"/>
                <tx:method name="*" propagation="REQUIRED" read-only="false"/>
            </tx:attributes>
        </tx:advice>
    
    <!--切面在哪里,切到哪里-->
        <aop:config>
            <aop:pointcut id="pc" expression="execution(* com.ppf.service.*.*(..))"/>
            <aop:advisor advice-ref="tx" pointcut-ref="pc"/>
        </aop:config>
    

    相关文章

      网友评论

          本文标题:搭建一个SSM项目 -6: 增加“事务”

          本文链接:https://www.haomeiwen.com/subject/ojacsktx.html