Spring-编程式事务管理

本文档详细介绍了Spring的编程式事务管理,包括PlatformTransactionManager、TransactionDefinition、TransactionTemplate和TransactionCallback等常用API的使用,以及如何在项目中配置bean.xml,实现业务层和表现层的事务控制。
摘要由CSDN通过智能技术生成

15- spring编程式事务管理

15.1 常用API

PlatformTransactionManager

它是spring事务管理的接口,参考声明式事务中的介绍

TransactionDefinition

它是事务定义接口,参考声明式事务中的介绍

TransactionTemplate

#它是事务管理模版类,继承DefaultTransactionDefinition类。用于简化事务管理,事务管理由模板类定义。
1.通过调用模板类的execute()方法来自动实现事务管理
2.方法中需要传递【TransactionCallback】、或【TransactionCallbackWithoutResult】进行业务的回调处理

TransactionCallback

#通过实现该接口的“T doInTransaction(TransactionStatus status) ”方法来定义需要事务管理的操作代码
1.适合于【有返回值】的目标方法

TransactionCallbackWithoutResult

#实现TransactionCallback接口,提供“void doInTransactionWithoutResult(TransactionStatus status)”
1.适合于【不需要返回值】的目标方法

15.2 编程式事务管理模板

public void transfer(final String sourceName,final  String destName, final Float money) {
   

    // 定义事务回调接口
    TransactionCallbackWithoutResult tcwr = new TransactionCallbackWithoutResult() {
   
        @Override
        protected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {
   
            // 需要事务控制的业务代码
           
        }
    };

    // 编程式事务控制(通过事务模版执行)
    transactionTemplate.execute(tcwr);

}

15.3 项目目录

15.4 配置bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd">

    <!--配置包扫描dao/service-->
    <context:component-scan base-package="cn.guardwhy"/>

    <!--配置JdbcTemplate-->
    <bean id=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值