@Aspect
사용할때 포인트컷을 분리해서 사용할 수 있다.
@Slf4j
@Aspect
public class AspectV2 {
//hello.aop.order 패키지와 하위 패키지
("execution(* hello.aop.order..*(..))") //pointcut expression
private void allOrder(){} //pointcut signature
@Around("allOrder()")
public Object doLog(ProceedingJoinPoint joinPoint) throws Throwable {
log.info("[log] {}", joinPoint.getSignature());
return joinPoint.proceed();
}
}
@Pointcut
이런식으로 여기에다만 경로를 지정하고 함수명을 @Around("allOrder()")
사용할곳에 가져다 쓰면된다.
반환타입은 void
코드내용비우기
public, private둘다가능
이런 조건들로 경로에 대해서 함수명으로 이름을 지어줄 수 있고
접근자 설정으로 이런 경로만 모아두고 다른곳에는 어드바이저만 모아둬서 여러개 꺼내서 쓸수도있다 모듈화