gpt4 book ai didi

java - 现代 Java 注解处理

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:05:07 25 4
gpt4 key购买 nike

注释处理是否仍然是 Java 6+ 的活跃部分,或者它是否已被弃用/不鼓励/废弃。如果过时了,为什么(为什么不再需要/不再有用)?如果它仍然非常有用和“活跃”(针对 Java 6+ JDK 开发的新 Java 项目仍会从中受益),请确认/更正我对如何使用注释处理器的理解:

  1. 您创建自己的注释类,比如 @MyAnnotation
  2. 你用@MyAnnotation标记某些类、方法、字段等
  3. 在构建过程中,您调用自定义的 MyAnnotationProcessor(如何?)
  4. 处理器扫描您的类路径以查找 @MyAnnotation
  5. 的实例
  6. 通常,注解处理器执行动态字节码注入(inject),即时修改/增强编译的类

最佳答案

  1. 正确。
  2. 正确。
  3. 正确。通常,您将扩展 AbstractProcessor。您使用 ServiceLoader 指定您的 MyAnnotationProcessor 类pattern - 这使得编译器可以发现它。 Processor Javadoc 包含有关创建此类的一些信息。
  4. 正确。
  5. 这部分不正确。注解处理器框架不给你修改类的能力。作为构建的一部分,您将需要使用一些编译后过程来执行此操作。它允许您做的是创建新文件。这些可能是简单的资源、新的 Java 源文件(随后在同一编译过程中注释处理器将需要并符合条件)或 Java 类文件。您还可以对源代码执行自定义检查并将错误写入日志(导致编译失败)。

我希望这能解决您的理解问题。

关于java - 现代 Java 注解处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14569183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com