스프링(Spring) AOP : AspectJ Pointcut 표현식 (1-1) execution

국물빌런·2020년 3월 1일
0

execution 명시자

  • Advice를 적용할 메서드 지정
  • 기본 형식 :

-> "*" 는 모든 값을 의미

-> ".." 는 0개 이상 의미

execution([수식어][리턴타입] [클래스이름][이름]([파라미터])

수식어

  • 생략가능

  • public, protected 등등

    리턴타입

  • 메서드의 리턴타입 지정

    클래스이름, 이름

  • 클래스의 이름 및 메서드의 이름 지정

    파라미터

  • 메서드 파라미터 지정

ex)

execution( some.package..*())

  • some.package 패키지 내

  • 파라미터가 없는 모든 메서드 호출

execution( some.package...*(..))

  • some.package 패키지와 하위 패키지에 있는

  • 파라미터가 0개 이상인 모든 메서드 호출

execution(String some.package.SomeService.someMethod(..))

  • 리턴 타입이 String,

  • some.package.SomeService 인터페이스 내

  • 파라미터가 0개 이상인 someMethod 메서드 호출

execution( some(*))

  • 메서드 이름이 some으로 시작되고,

  • 파라미터가 1개인 메서드 호출

execution( some(, ))

  • 메서드 이름이 some으로 시작되고,

  • 파라미터가 2개인 메서드 호출

execution( some(String, ..))

  • 메서드 이름이 some으로 시작되고,

  • 첫번째 파라미터 타입이 String,

  • 파라미터가 1개 이상인 메서드 호출

이 외에도 다른 표현식과 spring에 대한 정보가 잘 정리되어 잇으니 출처를 참고할 것

출처: https://groovysunday.tistory.com/201 [성냥의 불친절한 IT 이야기]

profile
국물을 달라

0개의 댓글