AspectJ 5에서는 기존 asjpectj 언어를 사용해서 애스펙트를 정의하는 방식에, 자바 5의 어노테이션을 활용한
애스펙트 정의 방법이 추가 되었습니다. 지금 보여주신 코드가 AspectJ 5의 어노테이션 방식 애스펙트 선언에
해당합니다.
어노테이션을 사용한 방식은 기존 AsjpectJ의 애스펙트 정의 문법이 자바 문법과 유사한 점을 활용한 방법인데, 자바
문법과 공통된 부분은 자바 코드로 표현하고 부족한 부분만 어노테이션으로 메타 정보를 추가하는 방식입니다. 자바 코드로
표현되는 부분을 컴파일 단계에서 검증할 수 있다는 장점이 있죠.
결국 보여주신 예제의 save() 메서드는 일반 자바 코드라기 보다는 자바 코드를 활용해 표현한 애스펙트의 포인트 컷
선언으로 보는 게 맞습니다. 그리고 기존 포인트컷 선언 표현식의 if(...) 구문을 어노테이션 방식으로 표현할 때에는
메서드의 내부에 이를 판단하는 로직을 넣기도 하기 때문에 항상 내용이 빈 메서드 형태로만 사용되지도 않습니다.
문서에 다양한 사례가 나오니 참고하십시오.
http://www.eclipse.org/aspectj/doc/released/adk15notebook/ataspectj-pcadvice.html#pointcuts
12. 5. 23. 오전 11:24, Ki-Seok Kim 쓴 글: