[Chapter 07] Advice 애너테이션에 pointcut 표현식 설정 #76
-
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
위에서 첨부하신 그림에서 보면 그래서 value는 간단한 포인트 컷 표현식 지정
참고자료https://stackoverflow.com/questions/48955420/afterreturningpointcut-vs-afterreturningvalue |
Beta Was this translation helpful? Give feedback.
-
금주 CheckPoint
|
Beta Was this translation helpful? Give feedback.
위에서 첨부하신 그림에서 보면
value는 어떤 조인 포인트에 어드바이스를 연결하는데 사용되는 포인트 컷 표현식을 지정한다.
pointcut어떤 조인 포인트에 어드바이스를 연결하는데 사용되는 포인트 컷 표현식을 지정하는데,
pointcut이 지정될 경우에는 value설정을 대체한다.라고 나와있습니다.
그래서 value는 간단한 포인트 컷 표현식 지정
pointcut는 보다 세세한 포인트 컷 표현식 지정에 사용된다고 생각이 드는데
@Before
이나@After
같은 경우에는 어드바이스의 실행시점이 이미 정해져 있기 때문에 세세하게 지정할 필요 없이 간단하게 포인트 컷 지정을 해도 되서 pointcut이라는 속성이 없는 것 같고@Around
는 pointcut대신에 메서드의 파라미터로ProceedingJoinPoint
를 가져와서 조인포인트를 제어하기 때문에 pointcut이라는 속성이 없는 것 같습니다.@AfterReturning
은 메서드가 성공적으로 실행되고 난 후에 어드바이스를 실행하고@AfterThrowing
은 메서드가 예외를 던진 후에 어드바이스를 실행하고 추가로 throwing속성을 사용해서 던진 예외도 다시 바인딩합니다.이렇게 두 어노테이션은 메서드의 실행 결과에 따라서 동작을 수행해야 되므로 보다 세밀한 조인 포인트 지정이 필요한 pointcut속성이 존재하는 것 같습니다.
참고자료
https://stackov…