今天偶然发现@注解执行顺序引发一轮探究
问题是 业务代码自定义注解 优先于 @transactional 事务执行,异常被捕捉导致 事务无法回滚
先看下@transactional 执行顺序
@EnableTransactionManagement 注解源码里默认顺序是Oanrdered.LOWEST_PRECEDENCE
按照 执行顺序先进后出的原则 应该在自定义注解逻辑执行完毕之前提交事务,
最后原因发现 自定义注解 未加上@order 字段,所以未加@order注解的 都是在 定义@order 切面后去 执行,
如果2个切面都未打上@order注解,他的执行顺序 按照切面 方法名比较大小来确定执行顺序?