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个或多个参数

     

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

  • 相关阅读:
    类型初始值设定项引发异常的解决方法
    sql修改排序规则,区分大小
    SQLServer查询所有子节点
    Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_L及由于排序规则不同导致查询结果为空的问题
    SQLServer跨库查询--分布式查询
    DataTable对象的操作问题
    .Net插入大批量数据
    SQL修改字段类型
    数据抓包分析
    Qss 皮肤
  • 原文地址:https://www.cnblogs.com/feifeihu/p/2640427.html
Copyright © 2011-2022 走看看