1. 三个组成部分
    1. DataSource
    2. TransactionManager
    3. 代理机制
  2. 配置
    1. <!-- 定义事务管理器(声明式的事务) --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="*" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="interceptorPointCuts" expression="execution(* com.bluesky.spring.dao.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" /> </aop:config>
  3. 传播类型
    1. PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
    2. PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
    3. PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
    4. PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
    5. PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
    6. PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
    7. PROPAGATION_NESTED--如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。
  4. 事务管理
    1. 声明式事务
    2. 编程式事务
  5. 组成