美文网首页
spring配置事物四种方式

spring配置事物四种方式

作者: 小男人_cb75 | 来源:发表于2017-05-01 01:36 被阅读0次

    第一种手动配置


    Transaction transaction = session.beginTransaction();

    session.update(target);

    transaction.commit();

    transaction.rollback();

    session.close();


    第二种spring.xml配置hibernateTemplate自动模式


    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> 

    <property name="sessionFactory" ref="qq" /> </bean>


    第三种注解事物


    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

    <property name="sessionFactory" ref="qq"></bean>

    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>//作用是注解事物

    @Transactional  //类级的注解、适用于类中所有的public的方法

    @Transactional(propagation = Propagation.NOT_SUPPORTED)不需要事务方法前加


    第四种面向切面xml事物


    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

    <property name="sessionFactory" ref="qq"></bean>

    <aop:aspectj-autoproxy proxy-target-class="true" />//激活自动代理功能

    <aop:config> //定义一个切面,并将事务通知和切面组合

    <aop:pointcut expression="execution(* com.dao.impl.*.*(..))" id="trPointcut"/>

    <aop:advisor advice-ref="trcut" pointcut-ref="trPointcut"/><

    </aop:config>

    <tx:advice id="trcut" transaction-manager="transactionManager"> //定义事务通知

    <tx:attributes>

    <tx:method name="add*" propagation="REQUIRED"/>//对增删该设置

    <tx:method name="*" propagation="REQUIRED" read-only="true"/>//查询不用设置

    <tx:method name="*" propagation="REQUIRED"/>//对所有方法设置

    <tx:attributes>

    <tx:advice>


    相关文章

      网友评论

          本文标题:spring配置事物四种方式

          本文链接:https://www.haomeiwen.com/subject/qlhftxtx.html