Java 反射找不到注释
我无法获取bean的注释,我正在使用spring框架: 可运行测试类:Java 反射找不到注释,java,spring,annotations,Java,Spring,Annotations,我无法获取bean的注释,我正在使用spring框架: 可运行测试类: public class Main { public static void main(String[] args) { PropertyDescriptor pd = BeanUtils.getPropertyDescriptor(Test.class,"foo"); Method m=pd.getReadMethod(); System.out.println(m
public class Main {
public static void main(String[] args) {
PropertyDescriptor pd = BeanUtils.getPropertyDescriptor(Test.class,"foo");
Method m=pd.getReadMethod();
System.out.println(m.isAnnotationPresent(Annot.class));
}
}
豆类
public class Test {
private String foo;
@Annot
public String getFoo() {
return foo;
}
public void setFoo(String foo) {
this.foo = foo;
}
}
注释类:
public @interface Annot {
}
主类得到“false”作为输出。。。为什么?您的批注缺少运行时保留策略 请执行以下操作:
@Retention(RetentionPolicy.RUNTIME)
public @interface Annot {
}
检查SO问题,该问题解释了默认策略及其作用。
要汇总该答案中的信息,默认保留策略为
CLASS
,这意味着注释位于字节码中,但在加载类时不必保留该注释您的注释缺少运行时保留策略
请执行以下操作:
@Retention(RetentionPolicy.RUNTIME)
public @interface Annot {
}
检查SO问题,该问题解释了默认策略及其作用。
要汇总该答案中的信息,默认保留策略为
CLASS
,这意味着注释位于字节码中,但在加载类时不必保留该注释您的注释缺少运行时保留策略
请执行以下操作:
@Retention(RetentionPolicy.RUNTIME)
public @interface Annot {
}
检查SO问题,该问题解释了默认策略及其作用。
要汇总该答案中的信息,默认保留策略为
CLASS
,这意味着注释位于字节码中,但在加载类时不必保留该注释您的注释缺少运行时保留策略
请执行以下操作:
@Retention(RetentionPolicy.RUNTIME)
public @interface Annot {
}
检查SO问题,该问题解释了默认策略及其作用。
要汇总该答案中的信息,默认保留策略为类
,这意味着注释是字节码,但在加载类时不必保留可能重复的可能重复的可能重复的可能重复的