2011-11-29 2 views
1

Spring에서는 특정 인자를 가진 메소드와 일치하는 표현식이 필요하다.특정 인자를 가진 pointcuts 일치하기

는 지금은이 표현

 execution(* delete(..)) 

을 가지고하지만 난에 관심이 특정 클래스 4 개 삭제 방법이 있기 때문에 특정 인수와 일치하고 싶다.

내가이

뭔가를 원하는
 execution(* delete(com.xyz.A, com.xyz.B,java.lang.String) 

이것은 내가 작성한 것으로 작동하지 않습니다. 내가 놓친 게 있니?

답변

0

구문이 정확합니다. 나는 당신이 닫는 괄호를 놓치고 있다고 믿습니다.

@Pointcut("execution(* delete(com.xyz.A, com.xyz.B,java.lang.String))") 

아마 그렇게 명확하지 않다하는 이유는 그것이 (당신이 주석 기반의 접근 방식을 사용하는 가정) 당신의 Pointcut 주석의 String의 일부이다, 그래서 선택의 IDE의 유효성을 검사하지 않는 경우 Pointcut 특수 효과를 사용하면 얼굴에 커다란 빨간 물체가 생기지 않습니다.

@Pointcut("target(com.xyz.ClassName) && execution(* myMethod(com.xyz.A, com.xyz.B,java.lang.String))") 

는 희망이 도움이 :

+0

xml 파일에서 사용합니다. 주석이 없음 – user2434

+0

관계없이 pointcut 표현식의 끝에 닫는 괄호가 없습니다. –

0

나는 그것을 다음과 같은 방법을한다.