[Spring] PointCut Designators

HOJUN·2024년 6월 22일

Backend - Spring

목록 보기
29/34

@PointCut

지시자를 통해서 @PointCut 어노테이션의 Aspect를 적용할 위치를 지정할 수 있다.
"PCD"라고 부를 수 있다.

지시자기준
execution리턴타입, 타입, 클래스, 패키지, 메소드, 파라미터 기준
within특정 경로에 속하는 모든 메서드
this, targetSpring bean 객체를 대상으로 함
args특정 메서드 파라미터값의 arguments
bean인자에 등장한 bean의 모든 메소드
Annotation의미
@target특정 어노테이션이 있는 모든 클래스
@args특정 어노테이션이 있는 매개변수를 받는 메소드
@within특정 어노테이션이 붙은 모든 타입
@annotation특정 어노테이션이 붙은 모든 메소드

가장 많이 사용하는 지시자는 execution, within이라고 하는데,
execution을 조금 살펴보자

@PointCut 어노테이션이 지정된 메소드가 적용될 범위를 지정한다.

@PointCut(value = "execution(접근제한자-생략가능|리턴타입|패키지|클래스|메서드|매개변수)")
각 패턴은 *(모든포인트)..(0개 이상)으로 표현 가능하다.
생략가능한 패턴을 제외하고는 모두 지정해야한다.

지시자 중 가장 자세한 문법으로 매칭될 joinPoint를 지정할 수 있다.
정규식을 이해하고 있다면 작성하기 어렵지 않을 것이다.

0개의 댓글