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

ak4686님의 프로필 이미지
ak4686

작성한 질문수

스프링 핵심 원리 - 고급편

스프링 AOP 구현6 - 어드바이스 종류

@Around 에서 joinPoint.proceed()

작성

·

234

0

@Around 설명 부분에 joinPoint.proceed() 호출 여부를 선택할 수 있다고 하셨는데

 

코드의 문제점을 설명해주실 떄 그런데 @Around 는 항상 joinPoint.proceed() 를 호출해야 한다.

 

라고 자료에 써져있는데.. 호출 여부를 선택할 수 있는거 아닌가요?!

답변 1

0

안녕하세요. ak4686님, 공식 서포터즈 y2gcoder입니다.

엄밀히 말씀드리자면 비즈니스 로직을 실행하기 위해서는 joinPoint.proceed()를 실행해야 합니다. joinPoint.proceed()를 실행해야, 해당 AOP가 걸린 비즈니스 로직까지 이동해서 실행할 수 있기 때문입니다.

반대로 생각해보면 비즈니스 로직까지 실행되길 원하지 않고, 해당 AOP에서 예외 등을 던져 끝내고 싶다면 joinPoint.proceed()를 호출해주지 않아도 됩니다.

감사합니다.

ak4686님의 프로필 이미지
ak4686

작성한 질문수

질문하기