zoukankan      html  css  js  c++  java
  • 【spring学习】spring注解 @Transactional学习

    在看springboot 实战这本书的时候看到了spring 事物注解。为此记录一下。
        Spring支持声明式事务,既使用注解来选择需要使用事务的方法,他使用@Transactional注解在方法上声明该方法需要事务支持,这是一个基于AOP的实现操作。备注解的方法在被调用时,SPring开启一个新的事务,当方法完无运行异常结束后,Spring会提交这个事务。
        @EnableTracsactionManagement开始声明式事务的支持,使用该注解后,Spring容器会自动扫描注解@TransactionalManager的类和方法
    有关@Transacational的属性

    propagationtion:定义了事务的生命周期,默认为REQUIRED

        required:方法A调用调用时,没有事务新建一个事务,当在方法A调用另外一个方法B的时候,方法B将使用相同的事务,;如果方法B发生异常需要数据回滚的时候,整个事务数据回滚。

        requried_new:对于方法A和方法B在被调用的时候,无论是否有事务,都将开启一个新的事务,如果方法A有异常,方法B的数据不会回滚。
        supports:方法调用的时候,有事务就调用事务,没有事物就不使用事物。
        no_supports:强制方法不在事务中执行,如有事务,在方法调用的到结束阶段事务将被挂起。
        never:强制方法不在事务中执行,如有事务则抛出事务、
        mandatory:强制方法在事务中执行,若无事务将抛出异常。

    isolation:isolation的默认级别 default

        isolation:隔离 决定了事物的完整性,处理在多事务对相同的数据下的处理机制,主要包含下面的隔离级别

        read_uncommitted:对于在A事务里修改了一条记录但没有提交事务,在B事务中可以读取到修改后的记录,可导致赃读。
        不可重复读和幻读。
        read_committed:只有当事务A修改了一条记录提交之后,B事务才可以读取到提交后的记录,阻止了赃读,但是不可重复读,和幻读避免不了。
        repeatable_read:A在读取一条记录 B不允许修改

        isolation:

                serializable:此级别下事务是顺序执行的,可避免上述级别的缺陷,但开销较大。

                default:使用当前数据库的默认隔离界别:

                    oracle、sql Server是read_committied  Mysql是repeartable_read;

        timeout:事务过期时间

        readonly:指明当前事务是否是只读。

        rollbackFor:指定哪个或者那些异常可以引起事务回滚。Throwable的子类
        noRollBackFor:指定哪个或那些异常不可以引起回滚。Throwable的子类。

        当@Tracsactional被注解到来中,所有的public的方法上将开启事务注解。如果类和方法上都是用@Tracsactional注解
    方法上的注解将会覆盖类级别上的注解。

            

  • 相关阅读:
    页面后退的总结
    Flash Builder4.6 无法启动,并且报 Failed to create the Java Virtual Machine(1不行的话可以参考下2)
    单独的js代码文件被JSP文件调用,中文乱码问题
    Flash Builder4.6 破解方法的实践
    sql文学习.....关于条件判断的查询....casewhenthen
    解决flash builder 4.6安装过程中安装程序遇到错误(1)
    flex builder 4 控制台不能输出trace()的解决方法
    jstl遍历map,foreach
    jar包直接拷贝到WEBINF/lib下和以userLibrary形式引入的区别?/jar包放置在WEBINF/lib下和通过build path导入的区别是什么?
    flash build 4.6 不能debug 报错 C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dll
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860960.html
Copyright © 2011-2022 走看看