<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> 
<property name="transactionManager" ref="transactionManager"/> 
<property name="transactionAttributes"> 
<props> 
    <prop key="*">readOnly</prop> 
    <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop> 
    <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop> 
    <prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop> 
    <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop> 
    <prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop> 
    <prop key="remove*">PROPAGATION_REQUIRED,-Exception</prop> 
    <prop key="query*">PROPAGATION_REQUIRED, readOnly,-Exception</prop> 
    <prop key="load*">PROPAGATION_REQUIRED, -Exception</prop> 
</props> 
</property> 
</bean>
这两种都是spring声明式事务管理吧,它们有什么区别???