欢迎来到天天文库
浏览记录
ID:6357431
大小:55.50 KB
页数:6页
时间:2018-01-11
《spring使用注解方式进行事务管理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Spring使用注解方式进行事务管理使用步骤:步骤一、在spring配置文件中引入命名空间2、tp://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">步骤二、具有@Transactional注解的bean自动配置为声明式事务支持3、pringframework.orm.hibernate3.HibernateTransactionManager"> 步骤三、在接口或类的声明处,写一个@Transactional.要是只在接口上写,接口4、的实现类就会继承下来、接口的实现类的具体方法,可以覆盖类声明处的设置@Transactional //类级的注解、适用于类中所有的public的方法事务的传播行为和隔离级别大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅。事物注解方式:@Transactional当标于类前时,标示类中所有方法都进行事物处理,例子:@TransactionalpublicclassTestServiceBeanimplementsTestService{}当类中某些方法不需要事物时:@Transactio5、nalpublicclassTestServiceBeanimplementsTestService{privateTestDaodao;publicvoidsetDao(TestDaodao){this.dao=dao;}@Transactional(propagation=Propagation.NOT_SUPPORTED)publicListgetAll(){returnnull;}}事物传播行为介绍: @Transactional(propagation=Propagation.REQUIRED) 如果有事务,那么加入事务,没有的6、话新建一个(默认情况下)@Transactional(propagation=Propagation.NOT_SUPPORTED) 容器不为这个方法开启事务@Transactional(propagation=Propagation.REQUIRES_NEW) 不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务@Transactional(propagation=Propagation.MANDATORY) 必须在一个已有的事务中执行,否则抛出异常@Transactional(propagation=Propagation.7、NEVER) 必须在一个没有的事务中执行,否则抛出异常(与Propagation.MANDATORY相反)@Transactional(propagation=Propagation.SUPPORTS) 如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.事物超时设置:@Transactional(timeout=30)//默认是30秒事务隔离级别:@Transactional(isolation=Isolation.READ_UNCOMMITTED)读取未提交数据(会出现脏读,不可重复读)基本8、不使用@Transactional(isolation=Isolation.RE
2、tp://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">步骤二、具有@Transactional注解的bean自动配置为声明式事务支持3、pringframework.orm.hibernate3.HibernateTransactionManager"> 步骤三、在接口或类的声明处,写一个@Transactional.要是只在接口上写,接口4、的实现类就会继承下来、接口的实现类的具体方法,可以覆盖类声明处的设置@Transactional //类级的注解、适用于类中所有的public的方法事务的传播行为和隔离级别大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅。事物注解方式:@Transactional当标于类前时,标示类中所有方法都进行事物处理,例子:@TransactionalpublicclassTestServiceBeanimplementsTestService{}当类中某些方法不需要事物时:@Transactio5、nalpublicclassTestServiceBeanimplementsTestService{privateTestDaodao;publicvoidsetDao(TestDaodao){this.dao=dao;}@Transactional(propagation=Propagation.NOT_SUPPORTED)publicListgetAll(){returnnull;}}事物传播行为介绍: @Transactional(propagation=Propagation.REQUIRED) 如果有事务,那么加入事务,没有的6、话新建一个(默认情况下)@Transactional(propagation=Propagation.NOT_SUPPORTED) 容器不为这个方法开启事务@Transactional(propagation=Propagation.REQUIRES_NEW) 不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务@Transactional(propagation=Propagation.MANDATORY) 必须在一个已有的事务中执行,否则抛出异常@Transactional(propagation=Propagation.7、NEVER) 必须在一个没有的事务中执行,否则抛出异常(与Propagation.MANDATORY相反)@Transactional(propagation=Propagation.SUPPORTS) 如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.事物超时设置:@Transactional(timeout=30)//默认是30秒事务隔离级别:@Transactional(isolation=Isolation.READ_UNCOMMITTED)读取未提交数据(会出现脏读,不可重复读)基本8、不使用@Transactional(isolation=Isolation.RE
3、pringframework.orm.hibernate3.HibernateTransactionManager"> 步骤三、在接口或类的声明处,写一个@Transactional.要是只在接口上写,接口
4、的实现类就会继承下来、接口的实现类的具体方法,可以覆盖类声明处的设置@Transactional //类级的注解、适用于类中所有的public的方法事务的传播行为和隔离级别大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅。事物注解方式:@Transactional当标于类前时,标示类中所有方法都进行事物处理,例子:@TransactionalpublicclassTestServiceBeanimplementsTestService{}当类中某些方法不需要事物时:@Transactio
5、nalpublicclassTestServiceBeanimplementsTestService{privateTestDaodao;publicvoidsetDao(TestDaodao){this.dao=dao;}@Transactional(propagation=Propagation.NOT_SUPPORTED)publicListgetAll(){returnnull;}}事物传播行为介绍: @Transactional(propagation=Propagation.REQUIRED) 如果有事务,那么加入事务,没有的
6、话新建一个(默认情况下)@Transactional(propagation=Propagation.NOT_SUPPORTED) 容器不为这个方法开启事务@Transactional(propagation=Propagation.REQUIRES_NEW) 不管是否存在事务,都创建一个新的事务,原来的挂起,新的执行完毕,继续执行老的事务@Transactional(propagation=Propagation.MANDATORY) 必须在一个已有的事务中执行,否则抛出异常@Transactional(propagation=Propagation.
7、NEVER) 必须在一个没有的事务中执行,否则抛出异常(与Propagation.MANDATORY相反)@Transactional(propagation=Propagation.SUPPORTS) 如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.事物超时设置:@Transactional(timeout=30)//默认是30秒事务隔离级别:@Transactional(isolation=Isolation.READ_UNCOMMITTED)读取未提交数据(会出现脏读,不可重复读)基本
8、不使用@Transactional(isolation=Isolation.RE
此文档下载收益归作者所有