首页 > 编程语言 > 详细

Spring的声明式事务

时间:2015-10-29 18:17:13      阅读:295      评论:0      收藏:0      [点我收藏+]
1.与hibernate集成
<bean id="sessionFactory"   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
   <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property> 
</bean> 
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
   <property name="sessionFactory"><ref bean="sessionFactory" /></property> 
</bean> 
 <!--支持@Transactional标记--> 
<tx:annotation-driven /> 
<!-- 支持@AspectJ标记--> 
<aop:aspectj-autoproxy /> 
<!--以AspectJ方式定义AOP --> 
<tx:advice id="txAdvice" transaction-manager="transactionManager"> 
   <tx:attributes> 
    <tx:method name="get*" read-only="true" /> 
    <tx:method name="find*" read-only="true" /> 
    <tx:method name="search*" read-only="true" /> 
    <tx:method name="*" /> 
   </tx:attributes> 
</tx:advice> 
<aop:config proxy-target-class="true"> 
   <aop:advisor 
    pointcut="execution(* com.ssh.idao.*DAO.*(..))" 
    advice-ref="txAdvice" /> 
</aop:config> 
<bean name="/view" class="com.ssh.struts.action.ViewAction"> </bean>   
2.与ibaitis集成,只需配置jdbc事务即可
 <context:component-scan base-package="com.filmdubbing.manager"/>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${jdbc.driverClassName}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="initialSize" value="5" />
        <property name="maxActive" value="100" />
        <property name="maxIdle" value="30" />
        <property name="maxWait" value="1000" />
        <property name="poolPreparedStatements" value="true" />
        <property name="defaultAutoCommit" value="true" />
        <property name="validationQuery" value="select 1 from dual" />
        <property name="testOnBorrow" value="true" />
</bean>
<bean id="yzfwTM"  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>
<tx:advice id="yzfwTA" transaction-manager="yzfwTM">
    <tx:attributes>
        <tx:method name="get*" propagation="REQUIRED" read-only="true" rollback-for="Throwable" />
        <tx:method name="find*" propagation="REQUIRED" read-only="true" rollback-for="Throwable" />
        <tx:method name="*" propagation="REQUIRED" rollback-for="Throwable" />
    </tx:attributes>
</tx:advice>
<aop:config proxy-target-class="true">
    <aop:pointcut id="yzfwTO" expression="execution(* com.filmdubbing.manager..*.*(..))" />
    <aop:advisor advice-ref="yzfwTA" pointcut-ref="yzfwTO" />
</aop:config>

 

Spring的声明式事务

原文:http://www.cnblogs.com/xunianchong/p/4921177.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!