spring事务管理

一、xml配置事务:


二、注解的方式配置事务

   <!-- 定义事务管理器(声明式的事务) -->  
    
<bean id="txManaager"
        class
="org.springframework.orm.hibernate3.HibernateTransactionManager">
        
<property name="sessionFactory" ref="sessionFactory" />
    
</bean>

<tx:annotation=driven transaction-manager="txManaager"/>


1,spring的默认事务管理是对--运行期意(uncheck外起作用、回滚,)对check非运行期意外不起作用

2,在注解的方式时,在方法前加@Transactional(rollbackFor=Exception.class),说明该方法要对非运行期的意外也起作用,这时候就会对你要求的异常也回滚;

3,在添加事务时是会对性能有所影响的,所以在读取数据是我们就不需要事务管理,如下:

@Transactional(propagation=Propagation.NOT_SUPPORTED)//不支持事务

public Person getPerson(){

,,,,,.......................

}

4,事务的几种属性:

最后一种,内部事务不会对外部的事务有影响。

5,readOnly只读属性,添加、删除、修改将不能进行,只能读操作。

6,isolation   是由数据库提供的事务隔离级别(四种)。脏读、幻读、不可重复读、



原文地址:https://www.cnblogs.com/dyllove98/p/3137539.html