• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

스프링 AOP 학습 후 고찰입니다.

20.01.11 01:08 작성 조회수 191

2

안녕하세요.

관점지향프로그래밍에서 스프링 AOP를 사용한다면

Aspect, Target, Advice, Join point, Pointcut에 대한 이해가 필요함에 따라 각각의 의미를 강의를 통해 이해한데로 적어봅니다.

'EventService'를 구현한 클래스 'SimpleEventService'가 있고 create(), publish(), delete() 총 3개의 메소드를 재정의 한 상황에서 각각의 메소드 실행시 '성능에 대한 로그(공통관심사)'를 출력해야 할 때

이를 AOP 주요 개념으로 해석해 보면 ,

Aspect(모듈) - 공통관심사'들'을 정의해 놓은 Class,  강의에서는 'PrefAspect' Bean.

Target - 공통관심사가 적용이 될 대상(* 프로젝트에 존재하는 모든 Class는 타겟이 될 수 있는 것인지 궁금합니다.)

Advice - 모듈(Aspect) 안에서 정의된 공통관심사(로그),  강의에서는 'PrefAspect' bean의 'logPref'() 또는 'hello()'

Pointcut - 공통관심사가 적용이 될 위치,  Target(Class)에 대한 특정 행위(Method)의 실행 시점을 의미

Joinpoint -  합류점,  가령 'SimpleEventService'의 특정 메소드 실행 전, 실행 후 등..(@Before, @Around와 같은 어노테이션을 의미)

제가 생각한 개념이 맞는지 조언 부탁드립니다.

(AOP는 반복학습을 해야겠습니다.)

미리 답변 감사드립니다.

답변 1

답변을 작성해보세요.

2

네 다 맞는거 같습니다. 수정하기 전에 댓글은 제가 햇갈렸네요.