spring基础知识 (21):切面的优先级

  • 在同一个连接点上应用不止一个切面时, 除非明确指定, 否则它们的优先级是不确定的.
  • 切面的优先级可以通过实现 Ordered 接口或利用 @Order 注解指定.
  • 实现 Ordered 接口, getOrder() 方法的返回值越小, 优先级越高.
  • 若使用 @Order 注解, 序号出现在注解中,值越小优先级越高

LoggingAspect 切面的优先级设置为 2

@Order(2)
@Aspect
@Component
public class LoggingAspect {...}

ValidateAspect 切面优先级设置为1

@Order(1)
@Aspect
@Component
public class ValidateAspect {...}

这里写图片描述

ValidateAspect 优先级高先执行

猜你喜欢

转载自blog.csdn.net/abc997995674/article/details/80307194
今日推荐