zoukankan      html  css  js  c++  java
  • SSH框架——Sprign声明式事务

    Spring事务管理

      Spring是SSH中的管理员,负责管理其它框架,协调各个部分的工作。今天一起学习一下Spring的事务管理。Spring的事务管理分为声明式跟编程式。声明式就是在Spring的配置文件中进行相关配置;编程式就是用注解的方式写到代码里。下面先说声明式:

      Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、 TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为 SessionFactory,TransactionManager的实现为HibernateTransactionManager。

      下面一起看看声明式事务的具体配置:

      声明式事务

      公共的配置:

      

        用tx标签声明事务的方式:

      

          expression="execution(* news.dao.*.*(..))"
          其中第一个*代表返回值,第二*代表dao下子包,第三个*代表方法名,“(..)”代表方法参数。

        注:使用了springAO管理事务后,之前的dao中使用的opensession获取会话的方法需要改为getCurrentSession的方法获取会话,同时,在配置<tx:method>时需要把事务模式设置为REQUIRED。

    spring注解

      

        @Transactional [使用事务注解,告诉Spring当前位类中需要事务的开启和提交,注解代码位置可以出现在    类定义的前面或者方法上面]。

       @Transactional(readOnly=true) [使用事务注解,告诉Spring当前方法不需用到事务,只读]

        类定义的前面声明事务注解,个别不需用到事务的方法设置为只读。

        如图所示:

          

          在方法上声明事务注解,即每个方法上都进行事务注解的声明,如图所示:

        

        

      

        
      

          

  • 相关阅读:
    编译原理:正则表达式
    编译原理:基于状态转换图识别for语句
    汇编小笔记
    win10汇编如何debug(小白向)
    nodejs模块引用
    nodejs环境设置理解
    分享几个看上去很酷炫的运算
    JavaScript数据结构 (手打代码)
    爬取煎蛋XXOO妹子图片
    Python Selenium官方文档阅读笔记
  • 原文地址:https://www.cnblogs.com/joke-zheng/p/5971177.html
Copyright © 2011-2022 走看看