据我所知,在 Spring AOP 中,当我们想要拦截某个方法调用时,我们配置了一个具有匹配所需方法调用的切入点配置的 Aspect。换句话说,我们在 Aspect 端配置拦截。
有没有办法完全从另一端配置它,即在要拦截调用的方法上?我希望这样的事情是可能的:
@Component
class MyClass {
@Intercept(interctptor="myInterceptor", method="invoke")
Object methodThatWillBeIntercepted(Object arg) {
// ..
}
}
@Component(value="myInterceptor")
class MyInterceptor {
Object invoke(MethodInvocation mi) {
// ...
if (someCondition) {
return mi.proceed();
} else {
return someOtherValue;
}
}
}