Spring AOP - 용어 정리

salgu·2022년 3월 10일
0

Spring

목록 보기
8/22

Joinpoint

  • 어드바이스가 적용될 수 있는 위치, 메소드 실행, 생성자 호출, 필드 값 접근, static 메서드 접근 같은 프로그램 실행 중 적용 지점입니다.
  • 조인 포인트는 추상적인 개념이고 AOP를 적용할 수 있는 모든 지점이라 생각하면 됩니다.
  • 스프링 AOP는 프록시 방식을 사용하므로 조인 포인트는 항상 메소드 실행 지점으로 제한됩니다.

Pointcut

  • 조인 포인트 중에서 어드바이스가 적용될 위치를 선별하는 기능입니다.
  • 주로 AspectJ 표현식을 사용해서 지정합니다.
  • 프록시를 사용하는 스프링 AOP는 메서드 실행 지점만 포인트컷으로 선별 가능합니다.

Target

  • advice를 받는 객체, 포인트컷으로 결정합니다.

Advice

  • 부가적인 기능
  • 특정 Join Point에서 Aspect에 의해 실행되는 로직입니다.
  • Around(주변), Before(전), After(후)와 같은 다양한 종류의 어드바이스가 있습니다.

Aspect

  • Advice + Pointcut 모듈화 한 것이고 @Aspect 를 생각하면 됩니다.
  • 여러 어드바이스와 포인트 컷이 함께 존재합니다.

Advisor (Aspect 하위)

  • 하나의 Advice와 하나의 Pointcut으로 구성되어 있습니다.
  • Spring AOP에서만 사용되는 용어입니다.

Weaving

  • Pointcut으로 결정한 타켓의 조인 포인트에 어드바이스를 적용하는 것입니다.
  • Weaving을 통해 핵심 기능 코드에 영향을 주지 않고 부가 기능을 추가 할 수 있습니다.
  • AOP 적용을 위해 Aspect를 객체에 연결한 상태입니다. (3가지 방식 존재)
    - 컴파일 타임(AspectJ compiler)
    - 클래스 로드 타임
    - 런타임, 스프링 AOP는 런타임, 프록시 방식

AOP 프록시

  • AOP 기능을 구현하기 위해 만든 프록시 객체이고
    스프링에서 AOP 프록시는 JDK 동적 프록시 또는 CGLIB 프록시입니다.





reference: 김영한 선생님

profile
https://github.com/leeeesanggyu, leeeesanggyu@gmail.com

0개의 댓글