关于spring事务的一组文章

来源:互联网 发布:淘宝直播账号怎么申请 编辑:程序博客网 时间:2024/06/10 03:54

http://www.javaeye.com/topic/35907
题:   解惑 spring 嵌套事务

 spring 事务的两种配置方式

1,aop方式

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>


<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" isolation="DEFAULT" timeout="-1" rollback-for="Exception"/>
<tx:method name="*" propagation="REQUIRED" isolation="DEFAULT" timeout="-1" read-only="true"/>
</tx:attributes>
</tx:advice>

<aop:config>
<aop:pointcut id="txOperation" expression="execution(* service.*.add*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txOperation"/>
</aop:config>

2 factory方式

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>

<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

<bean id="IWebService" parent="txProxyTemplate">
<property name = "target">
<bean class="service.WebService">
<property name="teacherDao">
<ref bean="teacher"/>
</property>
</bean>
</property>
</bean>

原创粉丝点击