728x90
Around에 포인트 컷 표현식을 직접 넣을 수 도 있지만, @Pointcut 애노테이션을 사용해서 별도로 분리할 수 도 있다

- @Pointcut 에 포인트 컷 표현식을 사용한다.
- 메서드 이름과 파라미터를 합쳐서 포인트컷 시그니처(signature)라 한다.
- 메서드의 반환 타입은 void 여야 한다.
- 코드 내용은 비워둔다.
- 포인트컷 시그니처는 allOrder()이다. 이름 그대로 주문과 관련된 모든 기능을 대상으로 하는 포인트 컷이다.
- @Around 어드바이스에서는 포인트 컷을 직접 지정해도 되지만, 포인트컷 시그니처를 사용해도 된다. 여기서는 @Around("allOrder()")를 사용한다.
- private , public 같은 접근 제어자는 내부에서만 사용하면 private을 사용해도 되지만, 다른 애스팩트에서 참고하려면 public을 사용해야 한다
- 이렇게 분리하면 하나의 포인트 컷 표현식을 여러 어드바이스에서 함께 사용할 수 있다. 그리고 뒤에 설명하겠지만 다른 클래스에 있는 외부 어드바이스에서도 포인트 컷을 함께 사용할 수 있다
실행
@Slf4j
@SpringBootTest
@Import(AspectV2.class)
public class AopTest {
...
}
728x90
'스프링 핵심 원리(고급편)' 카테고리의 다른 글
| Ch10. 스프링 AOP(구현) - 스프링 AOP 구현(포인트컷 참조) (0) | 2022.04.19 |
|---|---|
| Ch10. 스프링 AOP(구현) - 스프링 AOP 구현(어드바이스 추가) (0) | 2022.04.19 |
| Ch10. 스프링 AOP(구현) - 스프링 AOP 구현 (0) | 2022.04.18 |
| Ch10. 스프링 AOP(구현) - 프로젝트 생성 (0) | 2022.04.18 |
| Ch09. 스프링 AOP 개념 - AOP 용어 정리 (0) | 2022.04.16 |