使用原始方式获取参照博客园
-
获取:
package com.jt.aop; import com.jt.anno.CacheFind; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; @Component @Aspect public class CacheAop { @Around("@annotation(cachefind)") public Object around(CacheFind cachefind){ String key=cachefind.key(); System.out.println(key); return null; } }
如果要获取其他注解上的参数
@Around("@annotation(形参)")
public Object around(注解的类型 形参){
形参.属性();
}
- 获得切入点方法上的参数或者返回值类型
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
//getSignature 是Signature类型的,
//Signature 的子类MethodSignature 中有获取方法返回值类型的方法getReturnType();
//所以我们需要将通过Signature获取到的对象转化为其有包含方法返回值的类型的子类
Class targetClass = methodSignature.getReturnType();