用法示例:
我想在类字段上添加一个自定义注释@MyContainer,然后在所有此类字段上自动添加相关的 Hibernate 注释(取决于字段类型和属性)。
另外,我需要向类添加 JAXB XmlType 注释,并将类型名称基于类名。
我还想根据他们的类型等向字段添加注释。所有添加的注释都应该在运行时可用(所以 hibernate / JAXB 可以找到它们)。
我知道以下选项:
- 预处理类源(坏选项)
- 在编译期间使用 javax.annotation.processing API 进行处理
- 使用 Java Assist 等工具进行编译后操作
- 使用 java.lang.instrument API 在类加载期间进行操作
- 用 AspectJ 做(不够强大)
我的主要目标是:
- 在类和源之间保持同步以进行调试
- 支持从 Maven 和 IDE (Eclipse / Intellij) 工作
如果已经做过此类事情的人可以推荐此类任务的最佳方法(也许还有潜在的陷阱),我将不胜感激。