如何在建議之前使用Spring AOP中的安全措施。Java - Spring AOP - 使用before建議停止執行方法?
例如,我的建議(以僞代碼)之前有這樣的:
@Before("trigger()")
public void beforeMethod(JoinPoint point){
Method[] a = point.getSignature().getClass().getDeclaredMethods();
for(int i=0; i < a.length; i++){
//if method has such arguments then
if(a[i] 'has args String name, String role, Int Money'){
//And if these arguments meets such requirements
if(a[i].argument(Int.class) > 1000 or a[i].argument(String role).equals("normal"))
//Stop executing this method
a[i].stop
}
}
}
我知道這只是僞代碼,因此它可能看起來不正確的,但我希望你拿個主意。如果符合或不符合某些要求,是否有一些JoinPoint方法停止掃描的方法?
如果它是一種安全措施會引發異常。 –
你可以選擇不調用'proceed()'。 –