SpringAOP-切面优先级


项目中有两个切面,这两个切面都作用于同一个方法,哪个先执行哪个后执行呢,所以要定义一个切面的优先级

import java.util.Arrays;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
 * 可以使用 @Order 注解指定切面的优先级, 值越小优先级越高
 */
@Order(1)
@Aspect
@Component
public class VlidationAspect {

   @Before("execution(public double com.spring2.lee.aop.impl.*.*(..))")
   public void validateArgs(JoinPoint joinPoint){
      System.out.println("-->validate:" + Arrays.asList(joinPoint.getArgs()));
   }
   
}
@Order(2)
@Aspect
@Component
public class LoggingAspect {
...
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM