spring boot aop 獲取注解上的參數值


/**獲取目標方法上@ReqiredLog注解中定義的operation名字*/
```
private String getOperation(ProceedingJoinPoint jp)throws Exception {
//1.獲取目標對象類型
Class<?> targetCls=jp.getTarget().getClass();
//2.獲取目標方法對象
//2.1獲取方法簽名信息
MethodSignature ms=(MethodSignature)jp.getSignature();
//2.2獲取方法對象
//假如底層配置為jdk代理,則method指向接口中的抽象方法對象.
//假如底層配置為CGLIB代理,則這個method指向具體目標對象中的方法對象
//Method method=ms.getMethod();
//假如希望無論是jdk代理還是cglib代理,我們讓method變量指向的都是目標對象中的方法對象,那如何實現?
Method method=targetCls.getDeclaredMethod(ms.getName(), ms.getParameterTypes());
//3.獲取方法上的reqiredLog注解對象
RequiredLog requiredLog=method.getAnnotation(RequiredLog.class);
//4.獲取注解中的operation的值.
if(requiredLog==null)return "operation";
return requiredLog.operation();
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM