1、一个dao一个事务管理
<bean id="userDao" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager" ref="transactioinManager"/> <property name="target" ref="userDaoTarget"/> <property name="proxyInterfaces" value="login.dao.UserDAO"/> <property name="transactionAttributes"> <props> <prop key="*">PROPAGETION_PRQUIRED</prop> </props> </property> </bean>
2、多个类共用一个事务管理
<bean id="transactionBase" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager" ref="transactioinManager"/> <property name="transactionAttributes"> <props> <prop key="*">PROPAGETION_PRQUIRED</prop> </props> </property> </bean> <bean id="userDao" parent="transactionBase"> <property name="target" ref="userDaoTarget"></property> </bean>
3、用拦截器拦截事务
<!-- 定义一个事务拦截器 --> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactioinManager"/> <property name="transactionAttributes"> <props> <prop key="*">PROPAGETION_PRQUIRED</prop> </props> </property> </bean> <!-- 使用自动代理 --> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>*Dao</value> </list> </property> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> </list> </property> </bean> <bean id="userDao" class="login.dao.UserDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean>
4、使用tx标签来定义一个事务拦截器
<tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut expression="execution(* login.dao.*.*(..))" id="interceptionPointCut"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="interceptionPointCut"/> </aop:config> <bean id="userDao" class="login.dao.UserDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean>5、全部用注解