spring事物配置

FROM:http://blog.csdn.net/linwei_1029/article/details/5510200

 

第一种声明事务实现方式:

 

  <property name="transactionManager">
   <ref bean="transactionManager"/>
  </property>
  <property name="transactionAttributeSource">
   <ref bean="reqNamingTransactionAttribute"/>
  </property>

 

  需要代理的事务中,通过这两个属性进行了事务管理。

 

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

 

 <bean id="reqNamingTransactionAttribute"
  class="org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource">
  <property name="properties">
   <props>
    <prop key="*">
     PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception
    </prop>
   </props>
  </property>
 </bean>

 

 有这2个Bean,可以进行事务上的管理控制了!

 

 

第二种声明事务实现方式:

 

 <bean id="requestUCC" parent="baseTransactionProxy">
  <property name="target" ref="TargetRequestUCC" />
 </bean>

 

 <bean id="TargetRequestUCC"
  class="cn.ccb.faengine.sysmanage.request.ucc.impl.RequestUCCImpl">
  <property name="hibernateDAO">
   <ref bean="commonHibernateDAO" />
  </property>
 </bean>

 

  这种方式继承了 父类 parent="baseTransactionProxy" 这个Bean的事务管理方式

 

  <bean id="baseTransactionProxy"
 class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"  abstract="true">
    <property name="transactionManager" ref="transactionManager"/>
    <property name="transactionAttributeSource">
     <ref bean="reqNamingTransactionAttribute" />
    </property>
 </bean>

你可能感兴趣的:(spring)