我用一個簡單的Java bean來描述一個具有4個屬性的getter/setter和一些overString方法,比如toString,equals和hashCode。Java反射(和註釋):bean.class是空的
以上每個屬性是一個自定義註釋:
import java.lang.annotation.*;
import java.lang.annotation.RetentionPolicy;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DAOProperty {
String name();
String type();
boolean identifier() default false;
}
/** The id. */
@DAOProperty(name = "id", type = "long", identifier = true)
private long id;
如果我通過bean.class另一個方法
generateEntity(User.class);
...
private static MEntity generateEntity(Class<?> bean) {...}
並調試它,它似乎是空的,除了班級名稱。所有數組像方法,註釋和字段都是零大小。
我哪裏錯了?
奇怪的是,我可以發誓聲明數組declareFields的大小也是零,如果我在調試器的bean上,但它以某種方式工作。 非常感謝Bozho。 這是一個UAS的excersise。主要目的是使用emf和jet實現代碼生成器。 – masche 2010-07-11 09:48:56