최대 1 분 소요

AOP 구성요소

특정지정에 제어하고 싶은 대상에 제어하고자 하는 기능을 구현하는 AOP에 대해 알아보았습ㄴ다. 이번에는 좀더 용어에 대해 상세하게 알아보겠습니다.
AOP의 구성요소는

  • Aspect
  • Advice
  • PointCut
  • JoinPoint

로 되어 있습니다.

Aspect

Aspect는 AspectConfig 기능처럼 제어하고자 하는 모듈의 묶음을 의미하며, 이를 위해 어노테이션 @Aspect를 추가합니다.

Advice

Advice는 특정 지점에서 trigger 되었을 때 실행되는 operation 입니다.
예를 들면 operation이 실행되지는 시점은 다음과 같습니다.

  • 시적전/후 : @Around
  • 시작전(Before) : @Before
  • 성공처리 후 : @AfterReturning
  • 에러발생시 : @AfterThrowing
  • 처리종료 후 항상 실행 : @After

JoinPoint

JoinPoint는 어떤 Operation을 대상으로 할지 정의하는 것입니다. Springframework의 AOP는 operation or method 단위로 JoinPoint를 지원합니다.
대표적인 것이 execution, @Annotation 이 있습니다. 이중에서 execution JoinPoint가 가장 많이 사용되고 있습니다.

PointCut

어느 시점(Operation or method)에 AOP 모듈을 trigger할지 정의하는 JoinPoint의 상세 스펙 또는 표현식(Expression)입니다.

기타

  • Weaving(위빙): Weaving은 애플리케이션의 Design/Runtime 등 시점에 Aspect를 적용하는 것
    springframework는 Runtime 시점에 Weaving 합니다.

  • target : Aspect가 적용되는 객체를 의미합니다.

태그:

카테고리:

업데이트:

댓글남기기