• 事务(十)


    spring切面执行顺序-事务切面注意点

    1 Spring里面,如果一个方法,存在多个切面,是按照切面的Order顺序来执行的:Order值越小,那么切面越先执行(越后结束).

    2 @Transactional的Order值是Integer.MAX_VALUE.

    3 如果不指定Order,那么Order是默认值->Integer.MAX_VALUE. 如果Order相同,则是按照切面字母的顺序来执行切面.

    比如@Transactional和@Cacheable->对应的切面是TransactionInterceptor和CacheInterceptor,则先执行@Cacheable的切面.

    4 一般将事务切面放到最贴近方法的那一层,即事务最后执行(最先结束),避免其他切面吃掉原本方法的异常,导致事务执行结果不符合预期.

    5 方法调方法,如果外层方法不加事务,里层方法事务不会生效,最好是两个方法都加上事务。原因在下一篇详细说明。


    转载:https://www.jianshu.com/p/e23800984bde

    带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯
  • 相关阅读:
    C#概述
    作为一个程序员小小感悟!!
    c# 合并两个DataTable
    C# FastReport .NET打印
    c# System.Net.Sockets =》TcpListener用法
    开博第一章
    Vue 报错 Uncaught (in promise)
    ASP.NET MVC 中的过滤器
    SpringBoot 打包成war
    SprintBoot 实现上传下载
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/14531316.html
Copyright © 2020-2023  润新知