<!-- 建立事务管理器 -->
<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>
<!-- 对查找方法进行只读事务通知要求查找方法以find开头可按需要修改 -->
<tx:method name="find*" propagation="SUPPORTS" read-only="true" />
<tx:method name="get" propagation="SUPPORTS" read-only="true" />
<tx:method name="get*" propagation="SUPPORTS" read-only="true" />
<tx:method name="query*" propagation="SUPPORTS" read-only="true" />
<!-- 对其它方法如增 删 改进行事务支持 -->
<tx:method name="add" propagation="REQUIRED" rollback-for="Throwable" />
<tx:method name="add*" propagation="REQUIRED" rollback-for="Throwable" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="remove" propagation="REQUIRED" />
<tx:method name="remove*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="move*" propagation="REQUIRED" />
<tx:method name="update" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="is*" propagation="REQUIRED" />
<tx:method name="has*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="bizMethods"
expression="execution(* com.uniwin.framework..*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods" />
<aop:aspect id="log4j" ref="genericLoggerBean">
<aop:around pointcut-ref="bizMethods" method="invoke" />
</aop:aspect>
</aop:config>
<bean id="genericLoggerBean" class="com.uniwin.framework.logger.GenericLoggerBean" />
<!-- hibernateTemplate配置事务的结束 -->
声名式spring事务
猜你喜欢
转载自xiao1227372602.iteye.com/blog/1631222
今日推荐
周排行