-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
@Aspect 안에 여러 어드바이스 작성 시, 어드바이저는 어떻게 구성이 되나요?
22.01.31 20:41 작성 조회수 336
0
안녕하세요!
항상 좋은 강의 및 답변주셔서 감사합니다.
강의를 듣고 복습하던 도중 한 가지 궁금한 부분이 있어 글을 작성하게 되었습니다.
@Aspect
@Slf4j
public class AspectV2 {
@Pointcut("execution(* hello.aop..*.*(..))")
public void allOrder(){}
// public java.lang.String hello.aop.order.OrderRepository.save(java.lang.String)
@Around("allOrder()")
public Object doLog1(ProceedingJoinPoint joinPoint) throws Throwable {
log.info("[log] {}", joinPoint.getSignature());
return joinPoint.proceed();
}
@Around("allOrder()")
public Object doLog2(ProceedingJoinPoint joinPoint) throws Throwable {
log.info("[log] {}", joinPoint.getSignature());
return joinPoint.proceed();
}
}
위의 코드에서 어드바이저는 총 몇개가 생기는지 궁금합니다.
@Aspect가 있는 빈이 생길 경우, AutoProxyCreator가 @Aspect를 읽고 어드바이저를 작성해서 @Aspect Advisor 빌더 내부에 저장해두는 것으로 알려주셨는데요...
위의 코드가 실행되면, 어드바이저는 2개가 되는 걸까요? 아니면 1개만 되는 걸까요? 제가 이해하기로는 어드바이저는 주로 Default Advisor를 사용해서 1포인트컷 + 1어드바이저로 구성된다고 이해를 해서 2개가 생길 것으로 생각되긴 한데...
항상 좋은 강의 및 답변 해주셔서 고맙습니다.
감사합니다!
답변을 작성해보세요.
답변 1