강의

멘토링

커뮤니티

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

준상이님의 프로필 이미지
준상이

작성한 질문수

스프링 핵심 원리 - 고급편

스프링 AOP 구현3 - 어드바이스 추가

doTransaction() 어드바이스의 return 값 의미가 궁금합니다.

작성

·

340

0

안녕하세요. 

좋은 강의 제공해주셔서 감사합니다.

 

문득... 강의를 보다 Object result 를 return 해주고 있어, 이 반환이 어떤 의미가 있는지 그리고 어느곳에서 사용을 하는지 궁금해 문의 드리고 싶습니다.

 

아래 코드의 7 Line 입니다.

@Around("allOrder() && allService()")
public Object doTransaction(ProceedingJoinPoint joinPoint) throws Throwable {
try {
log.info("[트랜잭션 시작] {}", joinPoint.getSignature());
Object result = joinPoint.proceed();
log.info("[트랜잭션 커밋] {}", joinPoint.getSignature());
return result;
} catch (Exception e) {
log.info("[트랜잭션 롤백] {}", joinPoint.getSignature());
throw e;
} finally {
log.info("[리소스 릴리즈] {}", joinPoint.getSignature());
}
}

 

감사합니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 준상이님

실제 객체에서 Return 값이 반환되지 않습니다^^

클라이언트 -> AOP -> TARGET

이 구조에서 TARGET이 값을 반환했는데, AOP에서 반환을 안하게 되는 것이지요.

코드로 한번 테스트 해보시면 바로 이해가 되실거에요.

감사합니다.

준상이님의 프로필 이미지
준상이

작성한 질문수

질문하기