地藏Kelvin 2020-10-11 23:13 采纳率: 0%
浏览 603
已采纳

动态代理时为类的方法的参数添加注解

class A{
    public void method(Long param){}
}

通过动态代理,为A创建一个代理,这个时候,有没有办法让代理的method方法的参数param添加注解@B。

还是说只能获取参数是否有注解,而不能添加注解。

  • 写回答

1条回答 默认 最新

  • 牧子与羊 2020-10-12 11:30
    关注

    你这里说的动态代理只是针对这个技术而言还是说在spring项目下的动态代理,这里只是针对JDK动态代理的话实现java.lang.reflect.InvocationHandler
    是可以拿到Method对象的,既然方法对象拿到了参数和参数上的注解都是能获取到的,getParameterAnnotations
    如果是spring代理的话,这里他已经给你做了代理,你要是使用@Aspect实现切面功能的话,这里你可以试试:((MethodInvocationProceedingJoinPoint.MethodSignatureImpl)point.getSignature()).getMethod()这么去拿method对象,
    这里的point就是你代理方法的ProceedingJoinPoint point

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 5月11日

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试