【问题标题】:Need help creating a Java Annotation需要帮助创建 Java 注释
【发布时间】:2022-01-06 17:26:05
【问题描述】:

我有一个需要修改注解的需求

@Qualifier(CONSTANT + "ABC")
DataSource dataSource;

@DataSourceQualifier("ABC")
DataSource dataSource;

这是我的注释代码:

@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.FIELD})
public @interface DataSourceQualifier {
    String value();
}

甚至有可能做到这一点吗?我以前使用过 AOP 的注解,但我不明白如何创建这个装饰器注解。

【问题讨论】:

  • 由于没有接口的继承模型,也没有方法实现,我认为你想要的(前缀)是不可能的。这通常是在注释的消费者身上完成的。

标签: java spring spring-annotations


【解决方案1】:

如果不涉及value,那么可以假设Qualifier注解用@Inherited注解,那么你可以用@Qualifier注解你的DataSourceQualifier,然后你注解的所有地方以@DataSourceQualifier 为目的进行注释处理,就好像它们具有@Qualifier 注释一样。

但是,如果您想将注释的值传递给元注释值,这是不可能的。

【讨论】:

  • 您可以在 Spring 中使用 @AliasFor 将值传递到元注释中,所以是的,您可以这样做。
猜你喜欢
  • 2011-08-22
  • 2020-03-06
  • 1970-01-01
  • 2011-08-02
  • 2013-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
相关资源
最近更新 更多