2010-12-20 3 views
0

에서 null을 반환 :위한 MethodInvocation는 항상 내가 한 포인트 컷 다음과 같이 정의 pointcut 표현

<aop:pointcut id="getAllDataCut" expression= 
    "execution(* com.example.test.getAllData(com.example test.User)) and args(usr)" /> 

나는 항상 null 무엇입니까

final Object[] methodArgs= methodInvocation.getArguements(); 

를 호출 할 때.

몇 가지 힌트를 제공해주세요. 당신이 방법에 보낸 인수를 알고 있기 때문에 사전에 감사

답변

0

, 당신은 당신의 측면 메소드에 매개 변수로 그들을 얻을 수 있습니다

public void aspect(JoinPoint joinPoint, com.example.test.User user) { 
    // DO SOME THING WITH user 
} 

를 서로 다른 인수 방법에 대한 측면을 추가하려는 경우, 당신이 할 수있는 표현식에서 args를 제거하십시오.

+0

답장을 보내 주셔서 감사합니다. arguements가없는 위의 표현식에 문제가있는 것은 무엇입니까? aspect를 정의하는 것이 필요합니까? – user545520

+0

위의 표현식은 내가 제공 한 것과 같은 사용자 인수를 취하는 aspect 메서드를 가정합니다. methodInvocation.getArguements()를 사용하는 대신 직접 사용자 인수를 사용할 수 있습니다. – mmohab

+0

안녕하세요, Mohab, 답장을 보내 주셔서 감사합니다.하지만이 매개 변수를 호출하여 메서드를 only.because 런타임에이 인수를 기반으로 변수를 생성합니다. – user545520

관련 문제