如何在JAVA中创建带有逻辑的自定义注释

时间:2012-06-14 06:57:35

标签: java annotations

我想创建一个注释,用于搜索以注释中给出的单词开头的方法名称并执行此方法。

我是注释的新手,我知道有一些内置的注释,如:

@override, @suppressWarnigs, @documented, @Retention, @deprecated, @target

还有注释吗?

2 个答案:

答案 0 :(得分:1)

我确信那里有很好的导游,但这里有一个快速的导游,原谅我任何错别字:)。

您可以轻松创建自己的注释:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ExecuteMethod {
 String methodToExecute;
}

您可以使用它来注释代码。

@ExecuteMethod("MethodToExecute")
...

链接到注释的代码如下所示:

public class MethodExecutor{
 private Method method;

 public MethodExecutor(Method method){
   this.method = method;
 }

 public boolean executeMethod(){
        if(method.isAnnotationPresent(ExecuteMethod.class)){
            ExecuteMethod executeMethodAnnot=method.getAnnotation(ExecuteMethod.class);
            String methodName = executeMethodAnnot.methodToExecute();
            .... your code that calls the method here
        }
 }

您还需要一段代码来检查并执行此注释:

for(Method m : classToCheck.getMethods()) {
   if(m.isAnnotationPresent(ExecuteMethod.class)) {
       MethodExecturor methorExectuor = new MethodExecutor(m);
       methodExecutor.executeMethod(m)
    }
}

答案 1 :(得分:0)

如果您想了解有关注释的更多信息,可以查看此Oracle Documentation