【发布时间】:2021-07-25 14:49:12
【问题描述】:
我是 Java 注释概念的新手。我想为我的 Spring 启动应用程序编写如下 Java 注释:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
DataType type() default null;
Class<? extends DataProcessor> dataProcessor() <--I WOULD LIKE TO ADD ONE CLASS LITERAL IMPLEMENTING DATAPROCESSOR INTERFACE DEFINED BELOW
default NullDataProcessor.class;
}
接口DataProcessor定义如下:
public interface DataProcessor {
String process(DataType type, Map<String, Object> input);
}
我想将上面的注释用于方法,如下所示:
@MyAnnotation(dataProcessor=MyDataProcessorImpl.class)
所以在这里我有三个问题:
- 我将如何添加一个类文字作为 Java 注释的成员?
- 如何定义接口的多个实现?
- 如何定义默认实现,即 NullDataProcessor?
有人可以帮忙吗?谢谢。
编辑
- 来自Pass method argument in Aspect of custom annotation,我了解到如何借助方面从方法参数中提取值。但我不明白,如何调用函数:
process()for the method params。
【问题讨论】:
标签: java spring spring-boot annotations