В Spring мы можем поделиться общими определениями pointcut, как показано ниже.
@Aspect
public class SystemArchitecture {
/**
* A join point is in the web layer if the method is defined
* in a type in the com.xyz.someapp.web package or any sub-package
* under that.
*/
@Pointcut("within(com.xyz.someapp.web..*)")
public void inWebLayer() {}
}
И вышеизложенное можно использовать, как показано ниже
@Aspect
public class MyAspect {
@AfterThrowing(pointcut = "inWebLayer() ")
public void processError(JoinPoint jp) {
logger.info("Enter:processError");
}
}
Можно ли передать точку соединения в определение разреза точки разделения.
Что-то вроде ниже, где myCustomCheck — это еще одно определение разреза общей точки, которое проверяет что-то на основе переданной ему точки соединения.
@Aspect
public class MyAspect {
@AfterThrowing(pointcut = "inWebLayer() && myCustomCheck(jp) ")
public void processError(JoinPoint jp) {
logger.info("Enter:processError");
}
}
Осуществимо ли это?
Спасибо
Жизни.