zoukankan      html  css  js  c++  java
  • Spring基于tx/aop声明式事务配置

    一、引入aop/tx命名空间

    <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-2.0.xsd

        http://www.springframework.org/schema/aop

        http://www.springframework.org/schema/aop/spring-aop-2.0.xsd

        http://www.springframework.org/schema/tx

        http://www.springframework.org/schema/tx/spring-tx-2.0.xsd ">

     

    二、基于tx/aop配置

    <!-- 事务管理器 -->

        <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

            <property name="sessionFactory">

                <ref bean="sessionFactory"/>

            </property>

        </bean>

        <!-- 通过aop定义事务增强切面 -->

        <aop:config>

            <aop:pointcut id="serviceMethod" expression="execution(* com.cj.transaction.service.*.*(..))"/>

            <aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice"/>

        </aop:config>

        <tx:advice id="txAdvice" transaction-manager="transactionManager">

            <tx:attributes>

                <tx:method name="find*" read-only="false"/>

                <tx:method name="add*" rollback-for="Exception"/>

            </tx:attributes>

        </tx:advice>

     

    expression="execution(* com.cj.transaction.service.*.*(..))"中几个通配符的含义:

    第一个 * —— 通配任意返回值类型
    第二个 * —— 通配com.cj.transaction.service下的任意class
    第三个 * —— 通配
    com.cj.transaction.service下的任意class的任意方法
    第四个 .. —— 通配方法可以有0个或多个参数

     

    注意:第一个*后面有一个空格

  • 相关阅读:
    ELK日志分析系统之elasticsearch7.x最新版安装与配置
    Mysql用户root密码找回
    Java进程占用内存过高,排查解决方法
    dumpe2fs: Bad magic number in super-block
    关于web常见的安全问题
    pycharm中模块matplolib生成图表出现中文乱码解决方法
    一个Java语言所写的shop网站框架明细
    关于在linux系统环境下解压rar压缩文件
    python的pip管理工具
    解决nginx负载均衡高可用keepalived只针对物理机的问题
  • 原文地址:https://www.cnblogs.com/feifeihu/p/2640427.html
Copyright © 2011-2022 走看看