섹션 8. @Aspect AOP의 강의에서 질문
246
작성한 질문수 23
섹션 8. @Aspect AOP의 강의에서 질문드리고 싶은 내용이 있습니다.
package hello.proxy.config.v6_aop.aspect;
@Slf4j
@Aspect
public class LogTraceAspect {
private final LogTrace logTrace;
public LogTraceAspect(LogTrace logTrace) {
this.logTrace = logTrace;
}
@Around("execution(* hello.proxy.app..*(..))")
public Object execute(ProceedingJoinPoint joinPoint) throws Throwable {
TraceStatus status = null;
try {
String message = joinPoint.getSignature().toShortString();
status = logTrace.begin(message);
//로직 호출
Object result = joinPoint.proceed();
logTrace.end(status);
return result;
} catch (Exception e) {
logTrace.exception(status, e);
throw e;
}
}
}
에서
//로직 호출
Object result = joinPoint.proceed();
이 부분이 혼동이 되는 부분이 있습니다.
아래의 코드를 봐주십시오.
package hello.proxy.app.v3;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class OrderControllerV3 {
private final OrderServiceV3 orderService;
public OrderControllerV3(OrderServiceV3 orderService) {
this.orderService = orderService;
}
@GetMapping("/v3/request")
public String request(String itemId) {
orderService.orderItem(itemId);
return "ok";
}
@GetMapping("/v3/no-log")
public String noLog() {
return "ok";
}
}
/v3/request에 접속하는 순간 로그가 기록되고, 핵심 로직이 실행되는데요.
Object result = joinPoint.proceed(); 에서 joinPoint.proceed()이 실행되면 request 메소드가 실행되고, Object result에는 "ok"라는 문자열이 저장되는 것인가요?
두서없는 질문 죄송합니다.
읽어주셔서 감사합니다.
답변 1
SpringBoot 4.0.6 버전에서 PackageLogTracePostProcessor exception
0
71
3
어드바이스 순서 디폴트 기준이 궁금합니다.
0
75
1
AspectV1 예제를 @Configuration 수동 등록으로도 가능한가요?
0
102
2
구체 클래스를 상속받아 확장한 형태도 클래스패턴/데코레이터 패턴이라고 칭하나요?
0
73
1
TraceTemplate 을 미리 빈으로 등록해서 사용할때 이렇게 설정하는게 맞는건가요?
0
69
1
Decorator 에서 추상메서드로 뺄때 질문 있습니다.
0
63
1
대상 클래스에 기본 생성자가 없을 때
0
83
1
스프링 부트 버전 4.0 aop 의존성 명칭 변경
1
402
2
final 키워드 사용 관련 질문
0
84
1
안녕하세요
0
75
1
ThradLocal 실무 사례
0
106
2
실무에서의 동시성 문제
0
73
1
로그 등 부가 기능에 대한 테스트코드
0
60
1
ProceedingJoinPoint와 MethodInvocation에 대하여
0
77
1
실무 멀티스레딩에 대한 궁금증
0
80
1
안녕하세요 질문있습니다
0
49
1
AspectV3 aop 실행 순서 문의 드립니다
0
45
1
MDC vs AOP 중에 고민중입니다.
0
84
1
순환참조
0
167
2
this를 단독으로 사용할때랑 파라미터 바인딩 할때 차이
0
83
1
빈 후처리에 등록 질문 있습니다.
0
84
1
AppConfig 설정하는 설명중에 이해가 안되는게 있습니다.
0
98
1
ThreadLocal을 지역변수로 선언하면 remove가 필요할까요?
0
122
2
@Aspect 어노테이션으로 생성된 Advisor의 Bean 저장 여부
0
76
1





