Tagged

pointcut

A collection of 5 posts

AspectJ

@Pointcut Designator

@AspectJ의 Pointcut 살펴보기 1 @AspectJ의 Pointcut 살펴보기 2 이전 글에서 정리를 했지만 좀 더 간단하게 정리 하겠습니다. pointcut 종류에 따라 표현식이 조금씩 다르지만 크게 세분류로 나눌 수 있습니다. execution(method signature), call(method signature) target(type signature), this(type signature), agrs(type signature) @target(annotation name), @args(annotation name), @within(

pointcut

기선 씨네마 :: Pointcut

영화관에서 표를 팔 때(sellTicket)만 welcome과 thankyou Advice를 적용하려면 이전에 살펴봤던 NameMathMethodPointcut이나 NameMathMethodPointcutAdvisor를 이용하면 됩니다. 이렇게 Advisor를 만들면서 pointcut을 정의해줘도 되고, Pointcut만 따로 만든 다음에 DefaultPointcutAdvisor로 합쳐도 됩니다. 이번에는 포인트 컷을 따로 만들고 DefaultPointcutAdvisor를 사용해서 advice와 pointcut을 묶고 그것을 ProxyFactoryBean에 주입시켰습니다. 둘 다 결과는 원하던데로 sellTicket() 메소드에만 welcome, thank

pointcut

Spring AOP(old) Pointcut

참조 : Reference 7.2, Spring In ActionConcept  advice가 어떤 타입이든 상관없이 같은 포인트컷에 여러 adivce를 적용할 수 있습니다. public interface Pointcut {    ClassFilter getClassFilter();    MethodMatcher getMethodMatcher();} 핵심이 되는 포인트컷 인터페이스로 클래스와 메소드로 포인트컷을 판단하게 되기 때문에 저렇게 나뉘어져 있습니다. 클래스 필터와 메소드 필터의 재사용성을 고려한거라고 볼

AspectJ

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(

AspectJ

8. @AspectJ의 Pointcut 살펴보기 1

참조 : Spring Reference 6.2.3.4 execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?) 빨간색으로 표시된 return type pattern을 제외 하고는 전부 optional입니다. modifiers-pattern은 advice가 적용될 메소드의 접근 지시자 형태를 정합니다. * 은 모든 메소드 public은 public 메소드만… 뭐 그런 식입니다. declaring-type-pattern은 인터페이스나 패키지 패턴을 나타내는 부분인듯 합니다. name-pattern은 메소드의