Spring AOP 事务配置

 

<?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.xsd 
 http://www.springframework.org/schema/tx 
 http://www.springframework.org/schema/tx/spring-tx.xsd 
 http://www.springframework.org/schema/aop 
 http://www.springframework.org/schema/aop/spring-aop.xsd “>
 这里省去Datasource 和 sessionFacory
 <bean id=”transactionManager”
 abstract=”false” lazy-init=”default” autowire=”default” dependency-check=”default”>
 <property name=”sessionFactory”>
 <ref bean=”sessionFactory” />
 </property>
 </bean>
 
<!– 声明式事务 –>
 <!– 事务通知 –>
 < tx:advice id = “txAdvice” transaction-manager = “transactionManager” >
 < tx:attributes >
 < tx:method name = “add*” propagation = “REQUIRED” />
 < tx:method name = “delete*” propagation = “REQUIRED” />
 < tx:method name = “update*” propagation = “REQUIRED” />
 < tx:method name = “add*” propagation = “REQUIRED” rollback-for=”Exception” /> 设置回滚的条件Exception
 <tx:method name=”*” propagation=”REQUIRED” read-only=”true” />
 <!– <tx:method name=”*” propagation=”true” />–>
 </ tx:attributes >
 </ tx:advice >
 
<!– 那些类的哪些方法参与事务 –>
 <aop:config proxy-target-class=”true”> proxy-target-class默认是false, 仅当此代理类属性中包含 的bean实现了某个接口的情况下 设置为true 将自动适用事务
 <aop:advisor pointcut=”execution(* com.sun.java.*.server.*.*(..))” advice-ref=”txAdvice” />
 <aop:advisor pointcut=”execution(* com.sun.java.*.dao.*.*(..))” advice-ref=”txAdvice” />
 </aop:config>
 </ beans >

你可能感兴趣的:(spring aop)