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当前方法不需用到事务,只读]

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

        如图所示:

          

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

        

        

      

        
      

          

  • 相关阅读:
    python-实现选择排序
    python-实现冒泡排序
    python-实现双端队列
    python-实现队列结构
    python-实现单向循环链表
    类型转换
    uint64_t类型输出为十六进制格式
    python文件的写入与读出
    linux系统中安装虚拟机
    IPv4和IPv6地址的存取
  • 原文地址:https://www.cnblogs.com/joke-zheng/p/5971177.html
Copyright © 2011-2022 走看看