在 AOP 切面中,通過在通知方法添加 JoinPoint 參數,Spring 會自動注入當前連接點信息,從而獲取目標方法的參數值、方法名稱等元數據。
// 切面類
public class SecurityHandler {
public void checkSecurity(JoinPoint joinPoint) {
Object[] args = joinPoint.getArgs();
for (int i = 0; i < args.length; i++) {
System.out.println("參數 " + i + ": " + args[i]);
}
System.out.println("方法名: " + joinPoint.getSignature().getName());
System.out.println("=====checkSecurity====");
}
}
// Spring 配置
joinPoint.getArgs():返回目標方法實際參數陣列。joinPoint.getSignature().getName():獲取方法名稱。joinPoint.getTarget():獲取目標對象實例。joinPoint.getThis():獲取代理對象實例。日誌記錄、參數校驗、權限檢查、性能監控等橫切關注點。