如何将多个注释合并为一个注释?

2024-02-08

我有两个来自框架的注释。我经常在同一字段上使用这两个注释。因此,我试图创建一个包含两者的“组合”注释。

但我不知道这是否可能:

现有注释(我无法控制):

@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiParam {
    String name() default "";
}

@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiModelProperty {
    String name() default "";
}

我的自定义注释我正在尝试创建:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
@ApiParam
@ApiModelProperty
public @interface SwaggerParam {
     String name() default "";
}

Result:注释是不适用于注释类型.

问题:有机会吗?


不幸的是,您无法执行此操作,因为无法扩展注释。

java中有类似注解继承的东西吗? https://stackoverflow.com/questions/7761513/is-there-something-like-annotation-inheritance-in-java

当我第一次回答这个问题时,我最初对 Spring 框架解决这个缺点的方法感到困惑,他们使用元级别注释(例如 @Component 作为 @Controller/@Configuration 等的元注释)作为一种解决方法。

See: https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/beans.html#beans-annotation-config https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/beans.html#beans-annotation-config

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

如何将多个注释合并为一个注释? 的相关文章

随机推荐

  • AngularJS:如何获取模板的 $location.path

    我需要模板中 url 的当前路径 location path 的内容 但不是通过控制器 因为我有很多控制器 并且我不想重复声明 scope currentUrl location path 感谢您的建议 AngularJS 模板只能看到范围
  • 用于未定方程组的 C++ 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在寻找一个 C 库来解决这样的不确定系统 q 是向量 w x y z 变量和 a b c d 常
  • 使用 RxJs groupBy 以对象作为键

    我正在尝试使用groupBy使用 RxJ 我需要使用对象作为键 如果我不这样做 我会使用例如这样的简单字符串 var types stream groupBy function e return e x x is a string 然后一切
  • php可以检测javascript是否打开吗?

    我有动态创建的页面 现在我想添加ajax功能 所以我想添加if语句来更改输出 if js is on echo js is on else echo js is off 有什么办法可以检测js是否与php一起打开吗 或者有什么方法可以通过
  • 使用运行时构造函数参数的 InheritanceBasedAopConfigurer

    我有一个由 Spring NET 上下文拥有的 原型 类 它是使用带有运行时构造函数参数的 AutoProxy 创建的 它像这样被实例化 var context ContextRegistry GetContext var myClass
  • 画布清弧

    如何覆盖 HTML5 画布弧 我认为这段代码可以工作 但它在它周围留下了一个边框 尽管事实上它的值完全相同 只是颜色不同 我是否缺少边框属性
  • 我可以重写整个 git 存储库的历史记录以包含我们忘记的内容吗?

    我们最近完成了从 Mercurial 到 Git 的转换 一切都很顺利 我们甚至能够获得使存储库中的所有内容看起来 工作相对正确所需的转换 我们添加了一个 gitignore并开始了 然而 一旦我们合并 使用任何旧的功能分支 我们就会遇到一
  • 给定节点名称,获取另一个节点的子节点

    我有一个像这样的 XML
  • Nuxt async fetch() 创建多个实例?重复调用 fetch()

    我有一个简单的BasePreviewImage需要从内部 API 异步获取 Array Buffer 的组件 然而 看来async fetch 尽管组件本身被破坏 但每个创建的实例都会被调用 Example
  • Django 应用程序中的版本号

    我正在开发一个 Django 应用程序 我想显示应用程序的版本 以便发现错误的人知道应用程序的版本并可以提供更好的错误报告 是否有一种普遍接受的方法来在 Django 中存储版本号 我的意思是我的应用程序的版本 而不是 Django 我一直
  • 如何跟踪表中数据的变化?

    我有一个简单的问题 如何跟踪 SQL Server 表中行的更改 这是我想要的一个例子 Table Users Columns 姓名 地址 用户名 用户类型 Row 1 克里斯托弗 123假街 情人1234 1 我如何跟踪用户将 Chris
  • ctypes 段错误 仅适用于 OSX

    我使用 ctypes 在 Python 中创建了一个非常简单的 C 库绑定 它所做的只是接受一个字符串并返回一个字符串 我在Ubuntu上进行了开发 一切看起来都很好 不幸的是 在 OSX 上完全相同的代码失败了 我完全被难住了 我整理了一
  • PHPExcel 创建/样式/保存 PDF 文档

    我在几个项目中使用 PHPExcel 库 并且喜欢它提供的功能 目前 我需要另存为 PDF 发现 PHPExcel 可以做到这一点 但我发现很难找到有关该过程的一些示例或文档 以下是我找到的链接 http phpexcel codeplex
  • 跟踪 Zaber 设备移动时的位置

    我正在编写一个 LabVIEW VI 来移动 Zaber 线性执行器 并且我想在设备移动时每隔几毫秒记录一次设备的位置 我已经安装了Zaber 的 LabVIEW 驱动程序 http www zaber com wiki Software
  • CloudKit fetchRecordChangesOperation 给出“AppDefaultZone 不支持同步语义”

    我使用 CKFetchRecordChangesOperation 和 CKFetchRecordsChangeToken 来获取更改 它告诉我 AppDefaultZone 不支持同步语义 这是有问题的代码 void downloadSe
  • 混合 Razor 和 Javascript 代码

    我对如何混合 razor 和 js 感到非常困惑 这是我目前坚持的功能
  • 如何处理 Java BigDecimal 中的舍入错误

    我正在与开源项目 axil 合作 该项目在java应用程序内部实现了脚本引擎 并且在尝试利用BigDecimal的舍入时遇到了一个主要的障碍 BigDecimal 似乎正在将我的输入转换为科学记数法 然后将我传递的精度应用于数字的 SN 表
  • 使用 C 编译器选项捕获浮点异常 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 Gfortran有得心应手的 ffpe trap编译器选项 但没有类似的选项可用gcc 我隐约意识到他们处理异常的方式不同 但不足以知道为什
  • 在 Firefox 中拖动时,输入类型=范围上的 onchange 事件不会触发

    当我玩的时候
  • 如何将多个注释合并为一个注释?

    我有两个来自框架的注释 我经常在同一字段上使用这两个注释 因此 我试图创建一个包含两者的 组合 注释 但我不知道这是否可能 现有注释 我无法控制 Target ElementType PARAMETER ElementType METHOD