欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring

程序员文章站 2022-05-21 09:37:33
...

Spring配置事务主要有这2种方式。 
1、配置一个Spring提供的一个工厂类,然后将需要进行事务管理的bean放入工厂bean中进行委托代理。 

Xml代码  Spring
            
    
    博客分类: Spring 两种事务管理方式 spring 事务 
  1. <bean id="companyDAOProxy"    class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">  
  2.     <property name="transactionManager">  
  3.         <ref bean="transactionManager" />  
  4.     </property>  
  5.     <property name="target">  
  6.         <ref local="companyDAOTarget" />  
  7.     </property>  
  8.     <property name="transactionAttributes">  
  9.         <props>  
  10.         <prop key="insert*">PROPAGATION_REQUIRED</prop>  
  11.         <prop key="delete*">PROPAGATION_REQUIRED</prop>  
  12.         <prop key="find*">  
  13.         PROPAGATION_REQUIRED,readOnly  
  14.         </prop>  
  15.         </props>  
  16.     </property>  
  17. </bean>  
  18. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    
  19. <property name="dataSource">    
  20. <ref local="dataSource" />   
  21. </property>    
  22. </bean>    

2、采用AOP方式进行事务配置,注意在配置文件中要注明AOP schema的地址。 
Xml代码  Spring
            
    
    博客分类: Spring 两种事务管理方式 spring 事务 
  1. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    
  2. <property name="dataSource">    
  3. <ref local="dataSource" />   
  4. </property>    
  5. </bean>    
  6. <aop:config>  
  7. <aop:pointcut id="serviceMethods" expression="execution(* com.business.impl..*Service*.*(..))" />   
  8. <aop:advisor pointcut-ref="serviceMethods" advice-ref="txAdvice" />   
  9. </aop:config>  
  10. <tx:advice id="txAdvice" transaction-manager="transactionManager">  
  11. <tx:attributes>  
  12. <tx:method name="get*"    propagation="SUPPORTS" read-only="true" />  
  13. <tx:method name="load*"   propagation="SUPPORTS" read-only="true" />  
  14. </tx:attributes>  
  15. </tx:advice>  
相关标签: spring 事务