인프런 커뮤니티 질문&답변

Jae-yun Kim님의 프로필 이미지

작성한 질문수

스프링 프레임워크 핵심 기술

JoinPoint의 개념이 명확히 잡히지가 않습니다.

작성

·

550

0

안녕하세요~!

우선  좋은 강의 찍어주셔서 감사합니다. 유튜브도 잘 보고 있어요~!

바로 질문으로 넘어가자면  밑에 [스프링 AOP 학습 후 고찰입니다.]라는 질문에서는

JoinPoint가 @Before, @After .. 등의 Annotation이라고 언급을 한 부분에서 맞다고 하셨는데

https://docs.spring.io/spring/docs/4.3.12.RELEASE/spring-framework-reference/html/aop.html

스프링 공식 문서나 "스프링 철저 입문" 이라는 책에서는

@Before,@ After returning, @After throwing @After, @Around Annotation들을 모두 Advice 개념에 끼워 넣더라구요.

강의에서도 언급해주셨지만 JoinPoint를 이해 할 때 "PointCut이 JoinPoint의 부분집합(subset)이다"라는 개념으로 이해를 하면 될까요? 다양한 합류점들이 있지만 PointCut이 그것을 구체적으로 명시한다는 것으로 받아들여집니다.

또 그렇게 되면 Advice는 로직뿐만 아니라 그러한 로직을 어떻게 실행 할 지(before,after..) 컨트롤한다고 까지 생각을 하면 될까요?

말씀해주신데로 용어들의 개념이 어렵네요 ㅠㅠ

감사합니다.

답변 2

1

백기선님의 프로필 이미지
백기선
지식공유자

Advice는 끼워 넣을 로직 자체입니다. 해당 Advice를 "어디에" 넣을지가 '포인트컷'이고, 포인트컷은 프레임워크마다 지원하는게 다릅니다. 스프링의 경우 메소드 실행 전, 후, 주변, 에러 발생했을 때에 넣을 수 있는데 그런식으로 끼워 넣을 수 있는 지점 들이 곧 조인포인트이고 그 중에서 내가 추가하고 싶은 Advice를 넣을 곳이 포인트컷입니다.

0

Jae-yun Kim님의 프로필 이미지
Jae-yun Kim
질문자

명쾌하고 빠른 답변 감사합니다!!