반응형

  두 가지 방법 중 먼저 스프링 프레임워크에서 제공하는 API를 이용한 AOP기능을 살펴보겠습니다. AOP기능을 구현하는 과정은 다음과 같습니다.

  • 타깃(Target) 클래스를 지정합니다.
  • 어드바이스(Advice) 클래스를 지정합니다.
  • 설정 파일에서 포인트컷(Pointcut)을 설정합니다.
  • 설정 파일에서 어드바이스와 포인트 컷을 결합하는 어드바이저를 설정합니다.
  • 설정 파일에서 스프링의 ProxyFactoryBean 클래스를 이용해 타깃에 어드바이스를 설정합니다.
  • getBean() 메서드로 빈 객체에 접근해 사용합니다.

  그리고 스프링 프레임워크에서 제공하는 메서드를 호출했을 때 AOP 기능을 수행하는 어드바이스 인터페이스들의 추상 메서드 기능을 정리했으니 참고하기 바랍니다.

인터페이스 추상 메서드 설명
MethodBeforeAdvice void before(Method method, Object[] args, Object target) throws Throwable 해당 메서드가 실행되기 전 실행

1. Method method: 대상 객체에서 실행된 메서드를 나타내는 메서드 객체

2. Object[] args: 메서드 인자 목록

3. Object target: 대상객체

AfterReturningAdvice

void afterReturning( Object returnValue, 

Method method,

Object[] args,

Object target)

throws Throwable

해당 메서드가 실행된 후 실행

1. Object returnValue : 대상 객체의 메서드가 반환하는 값

2. Method method: 대상 객체에서 실행된 메서드를 나타내는 메서드 객체

3. Object[] args: 메서드 인자 목록

4. Object target: 대상객체

ThrowsAdvice

void afterThrowing( Method method,

Object[] args,

Object target,

Exception ex)

해당 메서드에서 예외 발생시 실행

1. Method method: 대상객체에서 메서드를 나타내는 메서드 객체

2. Object[] args: 메서드 인자 목록

3. Object target: 대상 객체

4. Exception ex: 발생한 예외 타입

MethodInterceptor

Object invoke( MethodInvocation

invocation)

throws Throwable

해당 메서드의 실행 전/후와 예외 발생 시 실행
MethodInvocation invocation: 대상 객체의 모든 정보를 담고 있는 객체(호출된 메서드, 인자 등)

  이 중 인터페이스 MethodInterceptor는 invoke() 메서드를 이용해 다른 세 가지 인터페이스들의 기능을 동시에 수행할 수 있습니다. 

  다음 글에서는 직접 실습해 보겠습니다.

반응형

'2020 > SPRING' 카테고리의 다른 글

스프링 프레임워크 MVC 특징  (0) 2020.01.08
스프링 API를 이용한 AOP 기능 실습  (0) 2020.01.08
Spring AOP기능  (0) 2020.01.07
회원 기능 이용해 DI 실습  (0) 2020.01.07
Spring 생성자를 이용한 DI 기능  (0) 2020.01.07
블로그 이미지

꽃꽂이하는개발자

,