【问题标题】:Custom annotation processor VS processing annotation via reflection api自定义注释处理器 VS 通过反射 api 处理注释
【发布时间】:2021-06-23 13:06:19
【问题描述】:

我想编写简单的自定义验证注释,但找不到关于我知道的两种处理它们的方法之间差异的正确信息,它们是:

  • 反射 API
  • 自定义处理器扩展javax.annotation.processing.AbstractProcessor

请有人告诉我这些选项之间的区别以及哪种方案更好,任何帮助将不胜感激

【问题讨论】:

    标签: java reflection annotations


    【解决方案1】:

    当您编译代码时,注释处理器会运行。在编译时,它可以发出警告、生成新代码或修改现有代码。 (修改现有代码是不受欢迎的,但 Lombok 等一些处理器会这样做。)

    在您的代码运行时访问反射 API。您的代码可以根据通过反射 API 读取的注释来更改其行为。

    这解释了主要区别。不同的场景太多,无法一一列举,但对于任何给定的场景,您都可以根据差异确定优缺点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多