less than 1 minute read

Advice

언제 무엇을 할지 나타낸다. 즉 애스펙트가 해야하는 작업과 언제 그 작업을 수행해야 하는지를 정의한 것이 어드바이스. (실제로 Target 객체에 적용할 일을 나타냄.)

Joinpoint

Advice를 적용할 시점을 말함 (생성자 호출, 필드에 접근, 필드의 값 변셩, 메소드 호출등의 시점.)

Spring AOP는 메소드 호출 Joinpoint만 지원.

Pointcut

Joinpoint의 부분집합으로 애스펙트가 어드바이스 할 조인포인트의 영역을 좁히는 일을함.

Advisor

하나의 Advice와 하나의 Piontcut을 묶은 것.

Aspect는 여러개의 Advice와 Pointcut을 가지고 있는 것을 말함.

즉 Advisor도 하나의 Advice와 Pointcut을 가지고 있는 Aspect라고 할 수 있음.

Aspect = Advice + Pointcut

어드바이스와 포인트컷을 합친 것이 애스펙트

두가지 정보가 합쳐지면 애스팩트가 무엇을 언제해야할지, 즉 애스펙트에 필요한 모든 정보가 정의됨.

Introduction

기존 클래스의 코드 변경 없이도 새 메소드나 멤버변수를 추가하는 기능.

Target

Advice의 대상이 되는 객체를 말함.

Proxy

프록시 객체.

Spring AOP는 Proxy객체를 사용, 프록시는 어드바이스를 타깃 객체에 적용하면 생성되는 객체

Weaving

Target 객체에 Aspect를 적용하는 과정.

타깃 객체에 애스펙트를 적용해서 새로운 프록시 객체를 생성하는 절차를 위빙이라함. 애스펙트는 타깃 객체의 조인포인트로 위빙된다.

위빙은 대상 객체의 생애중 컴파일 시점, 런타임 시점, 클래스 로딩 시점에 할 수 있는데, Spring AOP는 런타임시에 동시적으로 Proxy객체를 생성한다.

출처: https://unabated.tistory.com/entry/Spring-AOP용어의-정리

Categories:

Updated: