开发者社区 问答 正文

Spring AOP切面间的执行顺序是什么?

已解决

Spring AOP切面间的执行顺序是什么?

展开
收起
去校区学技术 2022-04-01 07:55:03 1042 分享 版权
1 条回答
写回答
取消 提交回答
  • 推荐回答

    切面之间使用older注解,区分调用顺序,Order值越小,那么切面越先执行(越后结束).

    不指定Order,那么Order是默认值->Integer.MAX_VALUE. 如果Order相同,则是按照切面字母的顺序来执行切面.比如@Transactional和@Cacheable->对应的切面是TransactionInterceptor和CacheInterceptor,则先执行@Cacheable的切面

    @Transactional也是通过切面实现,Order值是Integer.MAX_VALUE。(如果在service方法上同时添加带older的日志注解,在日志切面after里面报错,不会回滚事务)

    2022-04-01 07:56:08
    赞同 展开评论