spring AOP 절단면 우선 순위 @ order 와 접점 표현 식 재 활용

1319 단어 spring
만약 여러 개의 절단면 이 있다 면, 기본 적 인 선후 집행 순서 가 있다.단, @ Order (num) 로 우선 순 위 를 정의 할 수 있 습 니 다. num 이 작 을 수록 우선 순위 가 높 습 니 다.ValidationAspect 절단면 을 새로 만 들 고 원래 의 절단면 과 @ order 방식 으로 선후 운행 순 서 를 확립 합 니 다.
package com.spring.aop.impl;

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(2)
@Aspect
@Component

public class ValidationAspect {
	@Before("LoggingAspect.declareJointPointExpression()")
       public void validateArgs(JoinPoint joinPoint) {
    	   System.out.println("validate:"+Arrays.asList(joinPoint.getArgs()));
       }
}


이전 LoggingAspect (이전 블 로그 에서 찾 을 수 있 습 니 다) 에 절 점 표현 식 을 추가 합 니 다.
/*      ,          ,  ,               
	 *   @Pointcut          
	 *                          
	*/
	@Pointcut("execution(* com.spring.aop.impl.*.*(..))")
	  public void declareJointPointExpression() {}

@ Before ("declareJoint Point Expression ()") 는 다른 유사 성 을 가지 고 있 습 니 다. 서로 다른 절단면 에 앞 에 그 종 류 를 추가 하면 되 거나 같은 가방 에 좋 은 가방 이름 을 참조 하지 않 고 삽입점 을 사용 하면 뒤의 절단면 은 이 접점 을 사용 하여 더욱 깔끔하게 쓸 수 있 습 니 다.

좋은 웹페이지 즐겨찾기