java - 创建自定义注释作为框架注释的别名?

标签 java annotations

是否可以创建一个自定义别名注释来代替

@SuppressWarnings("unused") // EventBus
public void onEvent(SomeMessage msg) { ... }

喜欢

@EventBusListener
public void onEvent(SomeMessage msg) { ... }

这将是更多的 self 记录,当然应该包括 SuppressWarnings ... 对不起,如果这微不足道,但到目前为止我的谷歌搜索失败了。

最佳答案

一种方法是编写一个注释处理器来转换 AST(源代码的编译器内部表示)。在每次出现 @EventBusListener 时,您的注释处理器都会插入一次 @SuppressWarnings("unused")。编译器的后期阶段会看到注释。

注释处理器通常不会更改源代码,因此这需要一些工作。 AST 作为接口(interface)类型提供给注释处理器,因此您的注释处理器需要将其转换为具体类并对具体类执行副作用。 Project Lombok是在编译期间修改 AST 的注解处理示例。

不过,您可能只想编写 @SuppressWarnings("unused") 注释。

关于java - 创建自定义注释作为框架注释的别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30813493/

相关文章:

java - 将 wsit-client.xml 中的位置导入到另一个 jar 中的文件,使用 URL 字符串在类路径上定位文件

java - 替换 Java 中的空格和其他一些字符

java - Android Studio 3.2- “Waiting for build to finish”&无法下载gradle.jar

java - 配置 hibernate 自动映射实体

java - 包注释有什么意义?

java - hibernate列名问题

java - 我可以将模板类中的类文字作为注释的参数传递吗?

Java > 计数 Null/NA、0、空白值

java - 在 Netbeans 中构建的 java 项目不包含外部 TEXT 文件

hibernate - 具有相同标识符值的不同对象已经与保存时的 session 错误相关联