假装大牛 2019-07-19 14:48 采纳率: 0%
浏览 2452

怎么把一个class<T>[]传入 class<T>...的形参中

怎么把一个class[]传入 class...的形参中

```Method realMethod = joinPoint.getTarget().getClass().getDeclaredMethod(getMethodName(joinPoint),((MethodSignature)joinPoint.getSignature()).getMethod().getParameterTypes());

  • 写回答

1条回答 默认 最新

  • renkai721 2019-07-19 15:16
    关注

    以下是AOP的一个demo,你参考下,是不是你想要的

    @Around("logPointCut()&& @annotation(sysLog)") //FIXME  这里反射到的类
        public Object doAround(ProceedingJoinPoint point, SysLog sysLog) throws Throwable
        {
            long startTime = System.currentTimeMillis();
            Object ob = point.proceed();
            String requestUrl = sysLog.value();
            // 拦截的类名
            Class clazz = point.getTarget().getClass();
            Signature sig = point.getSignature();
            MethodSignature msig = null;
            if (!(sig instanceof MethodSignature))
            {
                throw new IllegalArgumentException("该注解只能用于方法");
            }
            msig = (MethodSignature) sig;
            Object target = point.getTarget();
            Method currentMethod = target.getClass().getMethod(msig.getName(), msig.getParameterTypes());
            System.out.println("执行了类:" + clazz.getSimpleName());
            System.out.println("方法:" + currentMethod.getName());
            System.out.println("自定义注解:" + requestUrl);
            //TODO  这里插入了日志
            Logs log = new Logs();
            logsService.insert(log);
            LOG.info("耗时 : " + (System.currentTimeMillis() - startTime));
            return ob;
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂