关于Springboot注解声明事务切面优先级的小测试

我们都知道,SpringBoot数据库事务是基于切面实现的,我们经常在自定义切面实现一些数据库操作,这些操作受不受Spring事务管理勒,怎么控制我们自己切面和事务切面的优先级关系,我做了些测试。

前提:事务和切面的实现都采取注解实现,这也是我们当前最常用的。

就不贴测试过程了,有点弱。测试结论如下:

  • @Order用于定义切面类优先级,order的value为Int,其值越低,越先执行,越后出来。
  • @Order默认值为2147483647,不加@Order的切面其值可以理解为也为2147483647(int类型最大值)。
  • 事务切面的优先级可以理解为就是2147483647,但是事务的优先级在order为2147483647中优先级最高的。

结论:要想自定义切面在事务里运行,不加@Order就好了,如果想在外面执行,加上order注解并随意指定一个值只要小于2147483647就好了。

转载于:https://my.oschina.net/u/4101481/blog/3101037

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值