'@Aspect'에 해당되는 글 1건

  1. 2009.03.16 @Aspect는 누구의 것?
봄싹2009. 3. 16. 13:33
@Aspect 어노테이션은... 어디것인가 ?
우선 스프링 @AOP를 사용하기 위해선.. Aspect class 에서 해당 어노테이션을 붙여줘야 한다. .
그럼 @Aspect는 어디에서 만든 어노테이션인가 ?

보면. .
import org.aspectj.lang.annotation.Aspect;
aspectj lib 안에 들어있다.. ;;

음.. 현재 배타리딩 진행중인 pro spring2.5 책 6장에 보면..

@AspectJ has nothing to do with AspectJ; it is a set of Java 5 annotations that Spring uses to parse the pointcuts and advice. This also means that @AspectJ aspects have no dependency on AspectJ; they use pure Spring AOP


이런 문구가 나온다..

@Aspectj 는 AspectJ와 아무런 상관이 없다. 이것은 스프링에서 포인트컷과 어드바이스를 파싱하는데 사용하는 JAVA5 어노테이션 집합이다. 이것은 또한 @AspecJ 애스팩트는 AspectJ와 의존관계를 가지고 있지 않다. 그것들은 순수한 Spring AOP를 사용한다.

머 대충 번역하자면 이런 뜻인데;; 어떤 의미에서 필자가 적었는지 의문스럽다..
분명.. @Aspect , @Pointcut, @Before, @AfterReturning, @AfterThrowing, @Around, @After ... 이모든 어노테이션은 AspectJ의 Annotation 이고... 스프링 @AOP(책에서 이야기하는 @AspectJ ) 또한 이 Annotation 을 사용하는데..
음... 분명 햇갈리는 문장이다..

이것이 뜻하는건... 스프링 @AOP 로 만들어진 Aspect는 아무런 수정없이 AspectJ(1.5 이상..)와 호환이 가능하다..
다만 AspectJ의 pointcut 이 더 섬세하고 많이 지원하기 때문에 스프링 AOP에서 적용 되지 않은 JoinPoint들고 적용 될 수 있으니.. 잘 확인해봐야 한다..

결론은.. @Aspect는 AspectJ의 것이고.. 스프링 @AOP는 AspectJ에서 제공한 Annotation으로 돌아간다는것! ;;


Posted by is윤군

댓글을 달아 주세요