反射从Java中的注释获取默认元素值
我已经创建了自己的注释,我通过反射在代码中使用它来做出决定。注释为其唯一元素设置了默认值。有没有办法通过反射访问默认值
PageableRequestMapping。java(注释)
package org.tothought.controllers.annotations;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface PageableRequestMapping {
String variablePath() default "/";
}
用于检索默认值的Psuedo代码
private int parsePageNumber(StringBuffer requestURL,
PageableRequestMapping pageableRequestMapping) {
String variablePath = pageableRequestMapping.variablePath();
//Psuedo code doesn't work in Java, included to illustrate intentions
if(variablePath.equalsIgnoreCase(pageableRequestMapping.variablePath().default())){
//handle default case
}else{
//handle different case
}
return 0;
}
我对这个问题的研究没有发现任何例子。我理论上认为这个值可以通过类以静态方式访问,但它不能。所以我只剩下两个问题
- 是否可以在注释中获取元素的默认值李>
- 如果是,怎么做李>
另外,我知道我可以硬编码这个值,但是我想让程序稍微健壮一些
# 1 楼答案
通过在类上应用注释并通过反射从类中检索注释,您可以这样做:
# 2 楼答案
您可以使用反射来获取方法对象,然后利用^{}
下面是一个具体的例子: