728x90
반응형
Spring AOP
- Spring AOP 는 스프링에서 사용하는 AOP 방식이다.
- 개념과 어떻게 사용 하는지 파악해보자.
Spring AOP Proxy
- AOP를 적용하기 위해선 프록시가 필요하다.
- 스프링은 CGLIB 프록시를 사용한다.
Spring AOP 용어
- 용어를 바로 설명하기 전에 예제를 한번 보자
- 아래 처럼 OrderService가 있고 그안에 save, cancel 메소드가 있다고 해보자.
- 사용자가 주문을 취소 했을때 cancel 이 몇번 되었는지 로그를 쌓고 싶다고 가정해보자.
Advice
- 우리는 먼저 로그를 저장하는 부가 기능을 구현을 해야 한다.
- 아래처럼 Log 를 저장하는 기능을 Advice 라고한다.
PointCut
- 그럼 저 어디바이스를 어떻게 지정을 할까?
- 우리는 Pointcut 으로 어떤 메소드에 부가기능을 저장할수 있을지 정할수 있다.
Advisor
- 위 그림을 보면 Advice 와 Pointcut이 한쌍으로 이루어져 있는 것 같지 않은가?
- 그게 바로 Advisor다.
- 하지만 여기에 프록시가 있어야 한다.
Prox를 이용한 AOP 전체 동작 구조
1. 클라이언트가 cancel 을 호출을 한다.
2. 프록시가 동작하고 Point cut 을 확인해 Advice 적용여부를 확인한다.
3. 적용여부가 판단이 된다면 프록시에 해당 기능을 적용한다
4. Proxy 를 통해 cancel 호출 시킨다.
- Proxy 안에 Advice 가 적용이 되어 있어 cancel을 호출할때 부가 기능을 수행 시킬수 있게 되는 구조이다.
728x90
반응형
'Spring > Spring 고급' 카테고리의 다른 글
[Spring] AOP 개념 (0) | 2023.06.15 |
---|---|
[Spring] CGLIB (0) | 2023.04.18 |
[Spring] JDK Proxy (0) | 2023.04.18 |
[Spring] Proxy (0) | 2023.01.23 |
댓글