在ssh框架中老是看到spring的配置文件中写有以下的一些代码:
<!--该bean定义了spring所提供的hibernate3的事务管理-->
<bean id=""transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<!--该bean 定义了事务管理代理,该bean采用了spring的AOP-->
<bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean>
<property name="transactionManager">
 <ref bean="transactionManager"/>
</property>
<property name="targer">
  <list>
    <ref local="userdao"/>
    <ref local="regdao"/>
  </list>
</property>
<property name="transactionAttributes">
  <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    ...
  </props>
</property>
</bean>
<!--该bean定义了spring的HibernateTemplate-->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
  <property name="sessionFactory">
     <ref local="sessionFactory"/>
</property>
</bean>
请问,这里所谓的事务管理,事务代理具体的工作流程是怎样的?这些bean相互之间又是如何相互协作来完成任务的?感觉对配置文件里的这些代码理解的很模糊,请高手赐教!