编程式的事务管理 使用TransactionTemplate事务管理
来源:互联网 发布:js split去除空字符串 编辑:程序博客网 时间:2024/05/16 12:08
Spring为我们提供了TransactionTemplate来进行事务管理下面是如何配置编程式事务管理器
<?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" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd"> <!-- 引入外部的属性文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 配置c3p0连接池 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driverClass}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <!-- 配置业务层类 --> <bean id="accountService" class="com.zs.spring.demo1.AccountServiceImpl"> <property name="accountDao" ref="accountDao" /> <!-- 注入事务管理的模板 --> <property name="transactionTemplate" ref="transactionTemplate" /> </bean> <!-- 配置DAO类(简化,会自动配置JdbcTemplate) --> <bean id="accountDao" class="com.zs.spring.demo1.AccountDaoImpl"> <property name="dataSource" ref="dataSource" /> </bean> <!-- ==========1.编程式的事务管理 ========== --> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /></bean> <!-- 配置事务管理的模板:Spring为了简化事务管理的代码而提供的类 --><bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate"> <property name="transactionManager" ref="transactionManager"/></bean> </beans>
编程式:主要是通过程序员进行手动的事务提交beginTransaction()、commit()、rollback() 和回滚 可以使用
TransactionTemplate 事务模板来进行事务操作
TransactionTemplate 的 execute() 方法有一个 TransactionCallback 类型的参数,该接口中定义了一个 doInTransaction() 方法,通常我们以匿名内部类的方式实现
TransactionCallback 接口,并在其 doInTransaction() 方法中书写业务逻辑代码。这里可以使用默认的事务提交和回滚规则,这样在业务代码中就不需要显式调用任何事务管理的 API。
doInTransaction() 方法有一个TransactionStatus 类型的参数,我们可以在方法的任何位置调用该参数的 setRollbackOnly() 方法将事务标识为回滚的,以执行事务回滚。
TransactionCallback 接口有一个子接口 TransactionCallbackWithoutResult,该接口中定义了一个 doInTransactionWithoutResult() 方法,TransactionCallbackWithoutResult 接口主
要用于事务过程中不需要返回值的情况。当然,对于不需要返回值的情况,我们仍然可以使用 TransactionCallback 接口,并在方法中返回任意值即可。
- 编程式的事务管理 使用TransactionTemplate事务管理
- Spring的事务管理入门:编程式事务管理(TransactionTemplate)!!!
- Spring的事务管理入门:编程式事务管理(TransactionTemplate)!!!
- Spring的事务管理入门:编程式事务管理(TransactionTemplate)
- 使用Spring(16)使用TransactionTemplate进行Spring编程式事务管理
- Spring_的编程式事务管理
- Spring中使用TransactionTemplate的事务管理
- 编程式事务管理
- SPRING 编程式事务管理
- Spring编程式事务管理
- 编程式事务管理
- 编程式事务管理
- Spring编程式事务管理
- spring编程式事务管理
- Spring_编程式事务管理
- spring编程式事务管理
- spring 编程式事务管理
- 编程式事务管理
- [Android]笔记3-跟随手指的小球
- gulp构建前端自动化开发环境
- 文件obj\debug\android\bin\packaged_resources不存在
- android沉浸式状态栏、变色状态栏、透明状态栏、修改状态栏颜色及透明
- StudyJams2 ---- ImageView
- 编程式的事务管理 使用TransactionTemplate事务管理
- 网络层--IP协议简要笔记
- C/C++学习(10)关于数组、内联函数、虚函数的错题集锦
- NSNumber和NSString相互转换
- TensorFlow学习资源
- SQL连载(二)----数据类型
- 1.5.ARM裸机第五部分-SDRAM和重定位relocate
- tips---eclipse功能 快捷键
- eclipse中SVN分支合并到主干