切面优先级设置实现

切面的优先级需要借助@Order注解进行描述,数字越小优先级越高,默认优先级比较低。例如:

定义日志切面并指定优先级。 `

@Order(1)

@Aspect

@Component

public class SysLogAspect {}

定义缓存切面并指定优先级:

@Order(2)

@Aspect

@Component

public class SysCacheAspect {}

说明:当多个切面作用于同一个目标对象方法时,这些切面会构建成一个切面链,类似过滤器链、拦截器链,其执行分析如图-9所示:

在这里插入图片描述


版权声明:本文为uzi2200原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。