SpringAOP对于事物的配置的一种

来源:互联网 发布:qq抓取软件 编辑:程序博客网 时间:2024/05/16 04:36

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:aop="http://www.springframework.org/schema/aop"
      xmlns:tx="http://www.springframework.org/schema/tx"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
 <!-- 配置sessionFactory -->
 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="configLocation">
   <value>classpath:hibernate.cfg.xml</value>
  </property>
 </bean> 
 
 <!-- 配置事务管理器 --> 
 <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="get*" read-only="true"/>
      <tx:method name="load*" read-only="true"/>
      <tx:method name="find*" read-only="true"/>
      <tx:method name="*" propagation="REQUIRED"/>    
     </tx:attributes>
    </tx:advice>
   
    <!-- 配置哪些类的方法进行事务管理 -->
    <aop:config>
     <aop:pointcut id="allManagerMethod" expression="execution (* com.wish.service.impl.*Impl.*(..))"/>
     <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/>
    </aop:config>       
</beans>

原创粉丝点击