java

时间:2015-12-02 06:08:36

标签: java annotations

我是java中的注释新手,我希望在方法上有一个注释来为我做一些事情:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface LogActivity {
    String logMessage() default "default message";
}

我想在不同的类中使用一些方法,如:

public class A {

@LogActivity(logMessage = "called foo() in class A")
    public void foo() {
        // some code
    }
}

public class B {
@LogActivity(logMessage = "called foo() in class B")
public void foo() {// some code}

@LogActivity(logMessage = "called foo1() in class B")
public void foo1() {// some code}
}

我需要一个方法来在屏幕上打印这些logMessages。 我只需要帮助编写一个方法,该方法将在调用这些foo和foo1之后执行,但是在执行开始之前。

  

Blockquote我需要在我的项目中的任意数量的类中使用此注释,所以我不喜欢这样做:

Method [] methods = Class.forName(theObject.getClass().getName()).getMethods();

LogActivity logActivity = methods[i].getAnnotation(LogActivity.class); 
我搜索了一些东西,但并没有真正理解这个解决方案。 提前谢谢。

0 个答案:

没有答案