9. @AspectJ의 Pointcut 살펴보기 2
참조 : http://www.eclipse.org/aspectj/doc/released/progguide/semantics-pointcuts.html
this(Type)
- this 키워드에 바인딩 되는 현재 실행 중인 객체의 타입이 Type인 경우에 모든 메소드 execution Join point를 나타냅니다.
target(Type)
- 메소드가 호출되거나 필드가 접근 되는 객체의 타입이 Type인 경우에 그 객체의 모든 메소드 execution Join point를 나타냅니다.
args( Type or ".." or * )
- 메소드의 아규먼트가 () 안에 정의한 갯수나 타입에 매칭 되는 모든 메소드 exexution Join point를 나타냅니다.
@targer(Type)
- 타켓 객체(메소드가 호출되거나 필드가 접근 되는 객체)에 @Type 어노테이션이 붙어있을 때 그 객체의 모든 메소드 execution Join point를 나타냅니다.
@within(Type)
- 선언된 타입에 @Type 어노테이션이 붙어있을 때 그 객체의 모든 execution Join point를 나타냅니다.
@annotation(Type)
- 실행되는 메소드에 @Type 어노테이션이 붙어있을 때 그 메소드의 execution Join point를 나타냅니다.
@args(Type)
- 실행시 아규먼트로 넘겨지는 것에 @Type 어노테이션이 붙어있을 때 그 메소드의 execution Join point를 나타냅니다.