Spring事务管理强记

第一种方式使用配置文件来配置,步骤如下:

事务管理器的最底层抽象接口是平台事务管理器PlatformTransactionManager,下面有两个实现类,如果是原生JdbcTemplate或者Mybatis(Ibatis),那么选择使用DataSourceTransactionManager,如果是使用了Hibernate框架,那么用HibernateTransactionManager。
在配置文件中注册事务管理器:


<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    
    <property name="datasource" ref="datasource"/>
bean>

<bean id="serviceProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    
    <property name="target" ref="代理目标"/>
    
    <property name="transactionManager" ref="transactionManager"/>
    <property name="transactionAttributes">
        
        <prop key="methodName">ISOLATION_LEVEL,PROPAGATION_ACTION,-XXXExceptionprop>
        
    property>
bean>

以上方式在事务方法较多的情况下容易使配置文件变得臃肿。

第二种使用注解方式

在配置文件中注册事务的注解驱动:
然后在目标service方法上加上@Transactional(isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED)

你可能感兴趣的:(spring)