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

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

        如图所示:

          

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

        

        

      

        
      

          

  • 相关阅读:
    struts2.0中struts.xml配置文件详解
    spring配置文件详解
    web.xml讲解
    maven项目如何引用本地的jar包
    springmvc框架下ajax请求传参数中文乱码解决
    contentType设置类型导致ajax post data 获取不到数据
    spring 四种依赖注入方式以及注解注入方式
    eclipse 启动tomcat后 页面无法访问tomcat首页
    openfire安装完毕后无法登录控制台(忘记密码)的解决方法
    Mac下新安装的MySQL无法登陆root用户(安装时没有设置密码)
  • 原文地址:https://www.cnblogs.com/joke-zheng/p/5971177.html
Copyright © 2020-2023  润新知