从 ProceedingJoinPoint 获取 java.lang.reflect.Method?

2024-01-04

问题很简短:有没有办法从aspectj ProceedingJoinPoint 获取Method 对象?

目前我正在做

Class[] parameterTypes = new Class[joinPoint.getArgs().length];
Object[] args = joinPoint.getArgs();
for(int i=0; i<args.length; i++) {
    if(args[i] != null) {
        parameterTypes[i] = args[i].getClass();
    }
    else {
        parameterTypes[i] = null;
    }
}

String methodName = joinPoint.getSignature().getName();
Method method = joinPoint.getSignature()
    .getDeclaringType().getMethod(methodName, parameterTypes);

但我不认为这是要走的路......


你的方法没有错,但是还有更好的方法。你必须投射到MethodSignature http://www.eclipse.org/aspectj/doc/released/runtime-api/org/aspectj/lang/reflect/MethodSignature.html

MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method method = signature.getMethod();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 ProceedingJoinPoint 获取 java.lang.reflect.Method? 的相关文章

随机推荐

  • char*/字符串连接而不复制?

    我想在 C 或 C 中连接 2 个字符串 而不需要新的内存分配和复制 是否可以 可能的C代码 char str1 char malloc 100 char str2 char malloc 50 char str3 some code th
  • 如何使用PHP连接到as400

    我正在尝试使用以下代码将我的 AS400 与 V5R3 和 PHP 连接
  • 如何将打开的窗体定位在 C# Windows 窗体中的特定位置?

    The Location窗体中的属性设置为 0 0 属性窗口 但是 该表单不会在指定位置打开 我错过了什么吗 你需要设置StartPosition手动使表单将起始位置设置为中的值Location财产 public Form1 Initial
  • 在 Python 中将字符串分配给 ID

    我正在使用 python 读取一个文本文件 其格式为每列中的值可以是数字或字符串 当这些值是字符串时 我需要分配该字符串的唯一 ID 在同一列下的所有字符串中都是唯一的 如果同一字符串出现在同一列下的其他位置 则必须分配相同的 ID 什么是
  • Retrofit 2 同步调用错误处理 4xx 错误

    我正在使用 android priority jobqueue 并使用改造来同步调用我的其余 api 但我不确定如何处理诸如 401 Unauthorized 错误之类的错误 我会发回 json 来说明错误 进行异步调用时很简单 但我正在调
  • htonl() 是否会更改 BIG ENDIAN 机器上的字节顺序?

    从字面上看 对 htonl 感到困惑 在很多链接中 我发现执行 htonl 的代码是 define HTONL n unsigned long n 0xFF lt lt 24 unsigned long n 0xFF00 lt lt 8 u
  • 在 MySQL 中插入十六进制值

    我使用 Java 创建了一个 SQL 数据库 我创建了一个表 其中有两列 第一列是一个递增的大整数 第二列我尝试将其定义为 char varchar 和二进制 但我仍然没有获得所需的功能 假设我尝试存储一个十六进制数字0a进入 char 列
  • 我如何判断我是否正在转发到复制构造函数?

    如果我正在编写一个将参数转发给构造函数的通用函数 有没有办法判断它是否是复制构造函数 本质上我想做的是 template
  • PyPdf不逐行读取pdf文本

    我正在使用 PyPdf 从 pdf 文件中读取文本 然而 pyPDF 不会逐行读取 pdf 中的文本 它以某种随意的方式读取 当 pdf 中不存在新行时 将新行放在某处 import PyPDF2 pdf path r C Users PD
  • 如何在.NET MAUI VISUAL STUDIOS 2022中使状态栏完全透明

    所以我发现你可以使用已弃用的代码来使 Android 上的状态栏完全透明 var s SystemUiFlags LayoutFullscreen SystemUiFlags LayoutStable FindViewById Androi
  • 在用户表单中选择图表

    我正在寻找编写一个宏 它从一个图表复制格式并将其应用到多个其他图表 我正在努力做的是确定一种方法来允许用户设置模板图表 然后选择多个其他图表 如果用户知道图表名称 则可以使用组合框来完成此操作 但我尝试在用户不知道图表名称的情况下执行此操作
  • 使用 Jest 测试承诺链

    我正在尝试用 Jest 测试承诺链序列 someChainPromisesMethod function async then async1 then async2 then result catch error 虽然测试单一承诺有很好的记
  • MongoDB Compass 与 WSL2 的问题

    我在 WSL2 内的容器内运行了一个 MongoDB 实例 当我尝试在浏览器中执行请求时localhost 27017即使它显示错误 它仍然可以工作 因为我尝试使用 HTTP 协议访问数据库 但是当我尝试使用主机名 localhost 和端
  • Monostate 是邪恶的 Singleton 的好表弟吗?

    Singleton 绝对是最被误用和滥用的模式之一 我们中的许多人都曾经感染过单侧炎 奇怪的是 它的近亲单态 https segueuserfiles middlebury edu xp SingletonAndMonostate pdf知
  • 序列化/反序列化 Boost.Geometry rtree

    简短版本 是否有任何稳定 可靠的方法来序列化 反序列化 Boost Geometry rtree 较长版本 Boost Geometry 中的 rtree 实现对序列化 反序列化提供了实验性支持 但支持不稳定 在反序列化过程中有时会抛出异常
  • django webapi:将 django 模型转储为 JSON

    我正在尝试将 django 模型转储为 JSON 格式 我尝试这样做 import json from api models import User from django http import HttpResponse def user
  • Android 房间分页不起作用

    我正在尝试使用 android Room API 从页面中的 sqlite 加载记录 问题是分页库正在将整个数据库加载到模型类中并将其与适配器绑定 这使得 UI 线程跳帧 它假设加载 20 条记录 然后在需要时继续添加更多记录 这是我的视图
  • 使用 MVC 的多步骤向导表单

    我计划使用 asp net mvc 2 构建一个多步骤表单 因此 我的 Web 应用程序将有 5 个页面对应 5 个步骤 每个步骤都有两个提交按钮 上一个和下一个 每个步骤的输入数据将被存储以供以后查看 例如 我们已经输入了步骤 1 2 3
  • 铁路路线限制未按预期发挥作用

    I asked this https stackoverflow com questions 31408608 rails make all routes default to format json今天早些时候关于将所有路由包装为默认 j
  • 从 ProceedingJoinPoint 获取 java.lang.reflect.Method?

    问题很简短 有没有办法从aspectj ProceedingJoinPoint 获取Method 对象 目前我正在做 Class parameterTypes new Class joinPoint getArgs length Objec