작성한 질문수
스프링 핵심 원리 - 고급편
스프링 AOP 구현6 - 어드바이스 종류
작성
·
234
0
@Around 설명 부분에 joinPoint.proceed() 호출 여부를 선택할 수 있다고 하셨는데
코드의 문제점을 설명해주실 떄 그런데 @Around 는 항상 joinPoint.proceed() 를 호출해야 한다.
라고 자료에 써져있는데.. 호출 여부를 선택할 수 있는거 아닌가요?!
답변 1
안녕하세요. ak4686님, 공식 서포터즈 y2gcoder입니다.
엄밀히 말씀드리자면 비즈니스 로직을 실행하기 위해서는 joinPoint.proceed()를 실행해야 합니다. joinPoint.proceed()를 실행해야, 해당 AOP가 걸린 비즈니스 로직까지 이동해서 실행할 수 있기 때문입니다.
반대로 생각해보면 비즈니스 로직까지 실행되길 원하지 않고, 해당 AOP에서 예외 등을 던져 끝내고 싶다면 joinPoint.proceed()를 호출해주지 않아도 됩니다.
감사합니다.