事务管理

事物管理

spring事物的好处

为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象

TransactionDefinition
定义了事务策略

int getIsolationLevel()得到当前事务的隔离级别

READ_COMMITTED                        授权读取
READ_UNCOMMITTEN                  未授权读取
REPEATABLE_READ                        可重复读
SERIALIZABLE                                 序列化读

int getPropagationBehavior() 得到事务传播性

MANDATORY                                  直接使用当前事务执行 如果没有则抛出异常
NESTED                                            在创建的新事务中执行 如果当前存在事务,就会形成事务的嵌套
NEVER                                             在没有事务的情况下执行 如果存在抛出异常
NOT_SUPPORTED                           在没有事务情况下执行 如果在当前存在事务 则当前事务挂起
REQUIRED                                      在事务中执行 如果没有事务就创建一个
REQUIRED_NEW                            在新事务中执行 如果当前存在事务 则将当前事务挂起
SUPPORTS                                      使用当前的环境执行,如果当前存在事务 则使用当前事务 如果没有事务 则不使用事务

int getTimeout()得到事务的超时时间


声明式事务管理
spring 提供二种方式使用spring事务管理功能 一种是在ioc容器中配置事务管理策略  另一种是通过@transactional注解来实现事务的配置功能

配置数据源  DriverManagerDataSource
配置事务管理对象 DataSourceTransactionManager
配置事务策略 <tx:advice>可以针对每一个方法或者每一类的方法来配置事务执行策略
配置AOP<aop:config>



注解式事务管理
@Transactional
ioc容器中增加下面的内容
<tx:annotation-driven/>

你可能感兴趣的:(java,spring,编程,事务)