一、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 是由数据库提供的事务隔离级别(四种)。脏读、幻读、不可重复读、