当前位置: 首页 > 面试题库 >

在运行时修改方法注释参数

盖昀
2023-03-14
问题内容

而且我正在尝试更改方法注释,但是java.lang.reflect.Method不包含任何地图字段(例如“ annotations”)或方法(例如“
getDeclaredAnnotationMap”)

只有private byte[] annotations但是我可以用这个字节数组做什么?

那么,如何修改方法的注释呢?

编辑:
我创建了:http :
//pastebin.com/T2rewcwU
但是,仅编辑此方法实例,如果取消注释33行代码,则值将重置。


问题答案:

我写了一堂课AnnotationUtil来解决Seris的要求。

它可以在类/字段/方法实例上添加/删除/更改注释值。

请注意,ReflectUtil添加/删除注释时,用于获取根字段/方法。

github上看到它:

注释实用程序

ReflectUtil



 类似资料:
  • 它已经编译好了(我无法控制源代码),并且是jvm启动时类路径的一部分。我希望能够在运行时将“some value”更改为其他的东西,这样以后的任何反射都将具有我的新值,而不是默认的“some value”。 这可能吗?如果是,怎么做?

  • 问题内容: 假设我有一个豆子: 然后使用这种测试代码将其转换为JSON或XML: 输出将是这样的: 现在,假设我想用一些动态名称替换“ data”属性: 如果我调用函数 convert(“ toto”), 我将获得以下输出: 如果我调用函数 convert(“ groovy”), 我会得到以下输出: 当然,我可以在JSON创建后执行String替换,但是如果您对程序化方法有一个满意的答案,我会接受

  • 我使用的是改型2.1,当我调用@get时,它会说 现在..如果我定义@retrofit.http.get,它将抛出 以及方法 分级文件

  • 问题内容: 对于拥有ejb经验的人来说,这可能是一个愚蠢的问题。 我想动态地读取和更改我的其中一个通过注释使用Java EE调度程序的EJB Bean的分钟参数。有人知道如何在运行时执行此操作,而不是像在下面的类中对其进行硬编码?如果我要以编程方式进行操作,是否仍可以使用注释? 问题答案: 用于容器在部署期间创建的自动计时器。 另一方面,可以使用它允许您在运行时定义何时应调用该方法。 这可能是您感

  • 问题内容: 我有一些人已经解决过的问题,但问题是我不了解我的实现中缺少什么。 我的hibernate代码的一部分如下: 问题是我想通过更改hibernate.connection.url属性中的“数据库”一词来选择要在运行时中使用的数据库。 在javaswing中,我正在实现此功能: } 然后,我用按钮检查所做的更改,从组合框中选择所需的数据库: 现在,debug1的输出正在更改,因此我在此打印中

  • 问题内容: 我们在模型pojos中的一些方法已被注释为: columnDefinition 属性取决于数据库供应商,因此在尝试使用Hibernate删除HSQLDB中的架构时会失败: 为了解决这个问题,我正在考虑这个解决方案(但不想花时间,如果不可能的话),在运行时,为每个方法列加注: 获取@Column批注 创建列注释的副本,使用javaassist将columnDefinition设置为nul