java - 在java项目中添加/修改注解

标签 java android annotations runtime

我们有一个 Java 代码库,打算跨项目使用。其中一些项目需要将注释添加到该库中的 Java 对象(即,在一个项目中,这些对象将用于 JAX-RS servlet 实现,因此需要使用 JAXB、JSON 等注释对其进行注释)。我遇到的问题是我不知道如何在不更改原始库的情况下添加这些注释。

考虑这个例子:

public class MyClass
{
    private String field1;
    private int field2;
}

在一些项目中,我希望这个类表现得好像是

public class MyClass
{
    @Annotation1
    private String field1;
    @Annotation2
    private int field2;
}

最初我想过使用单独注释的接口(interface)或派生类但无法弄清楚如何去做(或者是否可能)。我还发现了 Javassist 建议 in this thread (即 Java 字节码操作方法)但问题是这也需要在 Android 客户端上工作,所以它不是我的选择。在这一点上我没有想法。

如果有人能以任何方式提供帮助,我将不胜感激。也许我遗漏了什么,或者我想做的不是正确的方法。无论如何,我现在需要一些指导才能继续。

非常感谢。

最佳答案

我对此进行了更多研究,作为总结,这是我的发现:

主要是由于 Android 上不存在 JAXB(以及其他原因),我们切换到 JSON 并开始使用 Jackson 作为实现。此更改的一个好处是能够使用 Jackson 所说的“混合注释”,这正是我一直在寻找的。

这是对其进行更多解释的链接:http://www.cowtowncoder.com/blog/archives/2009/08/entry_305.html

关于java - 在java项目中添加/修改注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7299845/

相关文章:

java - 无法从 pageLoadTimeout 捕获 TimeOutException 并使用 selenium Java FireFox 驱动程序刷新页面

java - 从 Amazon S3 部分读取 tar.gz 文件

android - 在 Android 中完成视频后完成 YoutubeStandAlonePlayer?

Android Studio 按钮定位

python - 在 Django 中连接与查询集中记录的多行相关的字段

java - 无法在 Spring Security 中使用 @Secured Method Security 注释

java - 在 hibernate 中连接表

java - 类加载器(和 Guice)表现得很奇怪

android - 加载程序集时出现 monodroid 异常 -> 无法加载程序集 System.Net

java - 我们可以在运行时将值传递给注释吗?