spring配置事物四种方式

第一种手动配置


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>





最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自:http://www.blogjava.net/robbie/archive/2009/04/05/264...
    shineegirl阅读 475评论 0 3
  • Spring事务配置的五种方式 前段时间对spring的事务配置做了比较深入的研究,在此之间对Spring的事务配...
    CSF_8ba0阅读 330评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,881评论 18 139
  • 这部分的参考文档涉及数据访问和数据访问层和业务或服务层之间的交互。 Spring的综合事务管理支持覆盖很多细节,然...
    竹天亮阅读 1,048评论 0 0
  • 1.IOC与DI inverse of control 控制反转我们创建对象的方式反转了。以前对象的创建由开发人员...
    蕊er阅读 331评论 0 0