java - 如何创建注解的实例

标签 java reflection annotations

我正在尝试做一些 Java 注释魔术。我必须说我仍在追赶注释技巧,并且某些事情对我来说还不是很清楚。

所以...我有一些带注释的类、方法和字段。我有一个方法,它使用反射对类运行一些检查并将一些值注入(inject)到一个类中。这一切都很好。

但是,我现在面临一个需要注释实例(可以这么说)的情况。所以......注释不像常规接口(interface),你不能对一个类进行匿名实现。我得到它。我在这里查看了一些关于类似问题的帖子,但我似乎无法找到我正在寻找的答案。

我基本上想获取注释的实例,并能够使用反射设置其中的一些字段(我想)。有没有办法做到这一点?

最佳答案

嗯,显然没有那么复杂。 真的!

正如一位同事所指出的,您可以像这样简单地创建注释的匿名实例(就像任何接口(interface)一样):

我的注释:

public @interface MyAnnotation
{

    String foo();

}

调用代码:

class MyApp
{
    MyAnnotation getInstanceOfAnnotation(final String foo)
    {
        MyAnnotation annotation = new MyAnnotation()
        {
            @Override
            public String foo()
            {
                return foo;
            }

            @Override
            public Class<? extends Annotation> annotationType()
            {
                return MyAnnotation.class;
            }
        };

        return annotation;
    }
}

Martin Grigorov .

关于java - 如何创建注解的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16299717/

相关文章:

javassist 字段检查初始化

java - 如何在构造函数上使用 @Autowired DI Autowiring 未定义 bean 的属性?

spring - Spring 的 @CachePut 注释是否可以使用 void 返回类型?

java - 如何从android中的普通类调用main_activity的方法

java - JXTA 是否支持直接的 P2P 通信,即使两个点都在 NAT 之后?

java - 重新排序 XML 标签

go - 反射(reflect)返回值

java - 在空行上将文本文件拆分为字符串

java - 如何使用 Java 打印自定义页面大小的文档。 (东南)

java - Spring MVC 中的@Named 注解