@Around
@Around는 단일 어드바이스 메서드로 @Before와 @After를 동시에 컨트롤 할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | @Aspect public class Audience { @Pointcut("execution(** concert.Performance.perform(..))") public void performance() {} @Around("performance()") public void watchPerformance (ProceedingJoinPoint joinPoint) { try { System.out.println("휴대폰을 매너 모드로 변경한다."); System.out.println("자리에 앉는다."); joinPoint.proceed(); System.out.println("짝! 짝! 짝!"); } catch (Throwable e) { System.out.println("환불을 요구한다."); } } } | cs |
이렇게, joinPoint.proceed(); 를 기점으로 한 메서드에서 @Before와 @After를 컨트롤 할 수 있다.
중요한 것은 반드시 joinPoint.proceed(); 를 호출해야한다는 점이며, 호출하지 않으면 어드바이스된 메서드에 대한 엑세스를 막는다.
|
이 포스트는 스프링 인 액션을 읽고 개인적으로 필요하다고 생각되는 내용을 정리한 포스트입니다. 일부 내용, 소스코드는 스프링 인 액션의 내용일 수 있습니다. |
반응형
'🌱 SPRING > 스프링 인 액션' 카테고리의 다른 글
스프링에서의 요청 처리 순서 (0) | 2018.05.30 |
---|---|
어드바이스에서 파라메터 처리 (0) | 2018.05.26 |
애스펙트 정의하기 (0) | 2018.05.26 |
포인트 커트를 이용한 조인 포인트 선택 (0) | 2018.05.26 |
AOP란? (0) | 2018.05.24 |