인수 목록에 관계없이 클래스의 모든 공용 메소드와 일치하는 Spring @AspectJ 점 컷 (@Pointcut
) 표현식은 어떻게 작성합니까?Spring @AspectJ @ 인수 목록에 관계없이 일치시킬 포인트 컷
나는 모든 (다른 사람이 a previous SO question에서 원하는 것을 유사) 특정 주석, @MyAnnotation
이 특정 클래스의 공개 방법에 대한 @AfterThrowing
포인트 컷을 갖는 측면을합니다. 현재 내 측면이 같다 :
@Aspect
public final class ServiceDataAccessExceptionReporter {
@Pointcut("execution(public * com.example.Service.*(..)) && @annotation(com.example.MyAnnotation))")
public void annotatedMethod() {}
@AfterThrowing(pointcut = "annotatedMethod()", throwing = "exception")
public void reportException(final DataAccessException exception) {
...
}
}
이클립스 스프링 플러그이 아니라 정확하게 방법 com.example.Service.getNames()
조언 (소스 코드 윈도우의 화살표 주석을 사용하여)를 나타낸다. 그러나 인수가있는 메서드 (예 : com.example.Service.getTimes(String name)
)가 권고되었음을 나타내는 것은 아닙니다.
@Pointcut
주석이있는 메소드에는 인수가 없으므로 그런가요? 인수 목록에 관계없이 포인트 컷을 모든 메서드로 만들려면 어떻게해야합니까? 또는 com.example.Service
클래스의 각 인수 목록에 대해 별도의 @Pointcut
을 사용해야합니까?