6

我正在使用带有 aspectj 的自定义注释。

@TestLoggingAnnotation(setMessage = "I want to set value here")
public void get() {

    String retString = null;
    String message = "DEFAULT";

    if (message == "DEFAULT") {

        retString = "Default Logging";

    } else {

        retString = "Custom Logging";
    }
}

以上只是简单的示例代码。我的要求是我想在方法产生后传递参数值。

在我的情况下,我想在自定义参数中设置retString值。setMessage

4

2 回答 2

2

到目前为止,注解只能接受编译常量,不能在运行时赋值,尽管它们的值可以在运行时使用@Retention 使用。

讨论如下

于 2013-10-10T12:44:01.320 回答
0
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface TestLoggingAnnotation{
    String setMessage ();
}

现在使用反射来提取和设置方法参数我怀疑我们可以用局部变量来做到这一点。

于 2013-10-10T12:53:24.193 回答