首页 > 其他分享 >基于XML的声明式事务控制

基于XML的声明式事务控制

时间:2022-11-30 19:01:02浏览次数:41  
标签:XML 事务 基于 切点 only 声明

<tx:method name="transfer" isolation="REPEATABLE_READ" propagation="REQUIRED"timeout="-1" read-only="false"/>

<tx:method>代表切点方法的事务参数的配置

  name:切点方法名称

  isolation:事务的隔离级别

  propagation:事务的传播行为

  timeout:超时时间

  read-only:是否只读

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
    
    <!-- 加载外部的properties文件 -->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    
    
    <bean id = "dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"></property>
        <property name="jdbcUrl" value="${jdbc.url}"></property>
        <property name="user" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>
    
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
            <property name="dataSource" ref="dataSource"></property>
    </bean>
    
    <bean id="accountDao" class="">
        <property name="jdbcTemplate" ref = "jdbcTemplate"></property>
    </bean>
    
    <!-- 目标对象  内部的方法就是切点 -->
    <bean id="accountService" class="">
      <property name="accountDao" ref="accountDao"></property>
  </bean>

    <!-- 配置平台事务管理器 -->
    <bean id = "transactionManager" class = "org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref = "dataSource"></property>
    </bean>


    <!--通知  事务的增强  -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <!-- 设置事务的属性信息的 -->
        <tx:attributes>
            <tx:method name="transfer" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false"/>
            <tx:method name="save" isolation="REPEATABLE_READ" propagation="REQUIRED" timeout="-1" read-only="false"/>
            <tx:method name="update*" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="true"/>
            
        </tx:attributes>        
    </tx:advice>
    
    <!-- 配置事务的aop织入 -->
    <aop:config>
        <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.zl.service.impl.*.*(..))"/>
    </aop:config>
    
</beans>

 

标签:XML,事务,基于,切点,only,声明
From: https://www.cnblogs.com/zlyyds/p/16939455.html

相关文章

  • Spring--事务角色+事务属性
    事务管理员发起事务方,在Spring中通常指代业务层开启事务的方法也就是相当于这个:事务协调员加入事务方,在Spring中通常指代数据层方法,也可以是业务层方法也就是相当于......
  • xml_约束_dtd与xml_约束_schema
    xml_约束_dtdDTD:一种简单的约束技术1.引入dtd文档到xml文档中1.内部dtd:将约束规则定义在xml文档中......
  • xml_解析_解析方式与xml_解析_常见的解析器
    xml_解析_解析方式 解析:操作xml文档,将文档中的数据读取到内存中 操作xml文档 1.解析(读取):将文档中的数据读取到内存中 ......
  • 模拟SoapUI发送XML,返回并处理逻辑(Webservice调用)
    importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.Outp......
  • Dubbo -介绍以及基本使用(xml方式与properties方式)
    Dubbo介绍一个分布式、高性能、透明化的RPC服务框架。提供服务自动注册、自动发现等高效服务治理方案。其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载......
  • XML的简单认识
    一、初识XML1.1XML和HTML的对比1.1.1用途方面XML主要用于数据存储、传输、配置文件;HTML主要用于页面展示。(一开始XML想替换HTML,后来失败了就转数据存储应用了。)1.1.......
  • Java学习笔记XML(3)
    XML简介XML即可扩展的标记语言。因此该语言中所有的标签都是没有预先定义的,开发者可以自己随意的指定。目前为止所有的标记的语言都属于开源的语言。由W3C组织进行一个基本......
  • php中的XML DOM(10)
    1.PHPDOM(1)Php中的DOM跟javascript不一样,属性不用另外增加一个节点2.主要类    DOMDocument:文档类    DOMNodeList:节点列表类    DOMNode:节点类   ......
  • SQLServer 数据库事务日志已满 log_backup
      解决方案一:收缩日志1、属性-->选项-->恢复模式,设置为简单 2、任务-->收缩-->文件-->文件类型改成(日志)-->收缩操作选择(在释放为使用的空间前重新组织页),并设置收......
  • XML 与ABAP对象转换
    sap与外部系统通过接口交互时,数据的传递通常有XML,JSON等格式,此处介绍XML与ABAP结构、内表互转的两种常用方法。A.一种是通过类cl_xml_document解析转换XML字符串,该方式......