본문 바로가기
IT개발/Spring5

[Spring/스프링] AOP(Aspect Oriented Programming) 주요 용어

by Thompson 2024. 4. 13.
728x90
조인 포인트(JoinPoint)
  • "부가 기능"(어드바이스, 보조)이 추가될 수 있는 "핵심 기능"(타깃)에서의 위치.
  • AOP의 기능은 메서드 호출에만 적용 가능.

 

포인트 컷(PointCut)
  • "어드바이스(부가기능)"를 적용할 "타켓(핵심기능)"에서의 위치 선별.
  • 각종 명시자를 사용하여 후보지 위치를 지정.

 

어스팩트(Aspect)
  • 어드바이스와 타켓을 통합하여 모듈화 한 것.
  • "클래스"로 표현.

 

어드바이스(Advise)
  • "부가기능"을 구현할 수 있는 수단.
  • "메서드"로 구현.

 

타켓(Target)
  • 어드바이스가 적용되는 핵심 기능 메서드.
  • 개발 코드에서 호출하는 메서드.

 

위빙
  • "포인트컷"으로 지정한 타깃의 특정 지점에서 "어드바이스"를 적용하는 행위.
  • "핵심 기능"과 "공통 기능"을 혼합하여 수행하는 행위.

 

프록시(Proxy)
  • 스프링 AOP 기능을 구현하기 위해 컨테이너가 생성하는 객체.
  • 개발 코드에서는 타켓 메서드를 호출하였으나, 런타임 때 내부적으로 설정 정보에 의해 컨테이너가 생성한 프록시 객체가 호출되어 동작합니다.
  • 타켓을 사용하는 개발 코드는 프로그램 실행 시간에 컨테이너가 생성한 타켓과 동일한 인터페이스를 가진 프록시를 호출하는 것으로 변경되어 그 포록시가 어드바이스 메서드와 타켓 메서드를 위빙 하여 수행합니다.
  • (프록시가 타켓과 동일한 인터페이스를 가지면 클라이언트 코드는 프록시를 타켓 코드처럼 인식하고 호출 가능)
바인드 변수
  • 어드바이스 이후에 수행된 타겟 객체의 결과정보(예외를  이용하고자 할 때 사용.
  • 어드바이스가 "타켓 메서드 반환값" 또는 "예외객체"를 받을 수 있는 매개변수를 준비해둔다.
  • 동시에, 컨테이너에서 Returning, Thorwing에 대해 설정을 지정해야합니다.
조인 포인트 변수
  • 어드바이스가 어드바이스 이후에 수행된 타겟 객체 정보를 사전에 사용하고자 할 때 사용하는 변수.
  • 조인 포인트 매개변수를 어드바이스 메서드 첫 번째 형식 매개변수로 준비해서 사용할 수 있습니다.