在Java中实现Annotation是一个坏主意吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Java中实现Annotation是一个坏主意吗?相关的知识,希望对你有一定的参考价值。

目前我一直在考虑这个问题,但我找不到合适的答案。手头的用例是为特定的自定义注释创建一个实现类,以便在运行时我可以简单地生成它而不是POJO。

例如:

注解:

@interface CustomAnnotation {
    String date();
}

在这个阶段,我需要一个恰好与注释具有相同字段的bean。在这里,我有两个选项可以实现注释并在运行时创建它,也可以创建一个类来传递信息。

A)注释的实现:

public class CustomAnnotationImpl implements CustomAnnotation {

private final String date;

public CustomAnnotationImpl(String date) {
    this.date = date;
}


@Override
public String date() {
    return this.date;
}

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

B)

public class CustomBean {

    private final String date;

    public CustomAnnotationImpl(String date) {
        this.date = date;
    }

    public String getDate() {
        return this.date;
    }
}

还要记住,bean和注释将始终保持同步,这意味着bean实际上将始终是注释的副本。

我的问题是,如果有的话,那些优点和缺点是什么?我问这个是因为我自己没有看过注释的实现。

答案

我不明白你的问题,但看起来其他人已经问过这样的问题了。

以上是关于在Java中实现Annotation是一个坏主意吗?的主要内容,如果未能解决你的问题,请参考以下文章

springboot中实现rabbitmq异步日志记录功能

扩展三个在Java中实现接口的类

如何在 Java 中实现一个数据库监听器

如何在 Java 中实现无穷大?

过滤器或阶段列表器是在 Java EE 6 中实现安全性的好方法吗?

SpringBoot 中实现跨域的5种方式