JoinPoint 获取方法注解

JoinPoint 获取方法注解

方法名 功能
Signature getSignature(); 获取封装了部署信息的对象,在该对象中可以获取到目标方法名,所属类的Class等信息
Object[] getArgs(); 获取传入目标方法的参数对象
Object getTarget(); 获取被代理的对象
Object getThis(); 获取代理对象
// 第一种
try {
    Class<?> clazz = joinPoint.getTarget().getClass();
    String methodName = joinPoint.getSignature().getName();
    Class<?>[] parameterTypes = ((MethodSignature) joinPoint.getSignature()).getMethod().getParameterTypes();
    Method method = clazz.getMethod(methodName, parameterTypes);
    PostMapping postMapping = method.getAnnotation(PostMapping.class);
    String[] paths = postMapping.value();
} catch (NoSuchMethodException e) {
    e.printStackTrace();
}
// 第二种
String[] paths = ((MethodSignature) joinPoint.getSignature()).getMethod().getAnnotation(PostMapping.class).value();

// Feign接口注解
// Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
// FeignClient feignClient = method.getDeclaringClass().getAnnotation(FeignClient.class);

本文作者:Zzzy君不见

本文链接:https://www.cnblogs.com/Zzzyyw/p/16350954.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Zzzy君不见  阅读(5136)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起