2012-07-16 3 views
0

나는 스프링 AOP를 사용하여 내 프로젝트에서 로거를 소개하기 위해 노력하고있어,하지만 난 AOP와 AspectJ의 구문에 새로 온 사람, 그래서 몇 가지 문제가 있어요 ...스프링 AOP 로거, 포인트 컷 정의

@Aspect 
public class Logger { 

    @Pointcut("execution(* exportdatamanager.export.ExportType.fetch(..))") 
    public void fetch() { 
    } 

    // ... 

    @AfterReturning("fetch()") 
    public void fetchingResult(JoinPoint joinPoint, Object result) { 
     System.out.println("TEST LOG " + result.toString()); 
    } 
} 

를하지만 내 응용 프로그램을 실행할 때 나는이 예외가 얻을 : 나는 몇 가지 튜토리얼/문서 다음과 같은 기본적인 측면-클래스를 정의했다 내가 잘못 무엇

java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut 

, 나는 거기에 생각을 내 AP에서 뭔가 잘못 됐어. ectJ 표현식 ...

나에게도 제안 할 수있다 AspectJ 구문에 대한 빠른 참조은 Spring AOP에서 지원됩니까?

참고

ExportType 인터페이스에서 미리보기

public interface ExportType { 

    List<Object> fetch() throws FetchingStrategyException; 

    // ... 

} 

답변

2

좋아, 난 그냥 내 문제가 해결이 방법 :

@AfterReturning(pointcut = "fetch()", returning = "results") 
public void fetchingResult(JoinPoint joinPoint, List<Object> results) { 
    System.out.println("TEST LOG " + results.toString()); 
} 
관련 문제